filter että vain script kansio tulee coverageen
CI / load-config (push) Successful in 12s
ci-cucumber Cucumber tests passed
ci-bats Bats tests
ci-build Build complete
CI / feature (push) Successful in 2m20s
CI / main (push) Has been skipped

This commit is contained in:
moilanik
2026-06-13 21:08:35 +03:00
parent 09da2a7f28
commit c5a3a78a96
4 changed files with 22 additions and 7 deletions
+2 -5
View File
@@ -9,12 +9,9 @@ REPORT_DIR="${2:-}"
HAS_COVERAGE=false HAS_COVERAGE=false
COVERAGE_SRC="" COVERAGE_SRC=""
for candidate in /data/scripts/coverage /data/coverage; do if docker run --rm -v "$WORKSPACE_VOLUME":/data alpine sh -c '[ -d /data/coverage ] && ls -A /data/coverage | grep -q .' 2>/dev/null; then
if docker run --rm -v "$WORKSPACE_VOLUME":/data alpine sh -c "[ -d \"$candidate\" ] && ls -A \"$candidate\" | grep -q ." 2>/dev/null; then COVERAGE_SRC="/data/coverage"
COVERAGE_SRC="$candidate"
break
fi fi
done
if [ -n "$COVERAGE_SRC" ]; then if [ -n "$COVERAGE_SRC" ]; then
mkdir -p "$REPORT_DIR/coverage" mkdir -p "$REPORT_DIR/coverage"
+1 -1
View File
@@ -58,7 +58,7 @@ jobs:
--entrypoint bash ${{ inputs.bats-image }} \ --entrypoint bash ${{ inputs.bats-image }} \
-c 'apk add -q lsof python3 jq curl ruby && cd /data && \ -c 'apk add -q lsof python3 jq curl ruby && cd /data && \
gem install bashcov -v 3.3.0 2>&1 | tail -1 && \ gem install bashcov -v 3.3.0 2>&1 | tail -1 && \
bashcov --root /data/scripts/ -- bats tests/' \ bashcov -- bats tests/' \
> "reports/${GITHUB_SHA:0:8}/bats/results.txt" 2>&1 > "reports/${GITHUB_SHA:0:8}/bats/results.txt" 2>&1
BATS_EXIT=$? BATS_EXIT=$?
bash .ci/.gitea/scripts/bats-coverage.sh bats-workspace "reports/${GITHUB_SHA:0:8}/bats" bash .ci/.gitea/scripts/bats-coverage.sh bats-workspace "reports/${GITHUB_SHA:0:8}/bats"
+5
View File
@@ -0,0 +1,5 @@
SimpleCov.start do
add_filter '/tests/'
add_filter '/node_modules/'
add_filter '/git-pages/'
end
+13
View File
@@ -110,3 +110,16 @@ Avainkomponentit:
- Rinnakkaiset jobit (bats + cucumber) — tuloksia saa heti kun valmistuu - Rinnakkaiset jobit (bats + cucumber) — tuloksia saa heti kun valmistuu
- Jokainen testisetti omassa jobissaan - Jokainen testisetti omassa jobissaan
- Finalize/build voi kerätä yhteenvedon (ei julkaista summarya jos kenelläkään ei ole linkkiä) - Finalize/build voi kerätä yhteenvedon (ei julkaista summarya jos kenelläkään ei ole linkkiä)
## 7. Inline Logic Threshold
Logiikka workflow YAML:ssa on hauras: YAML:n sisennys, heredocit ja
kenoviivat tuottavat helposti toimimattomia steppejä.
**Kynnys siirtää scriptiksi:** heti kun steppiin tulee ehtoja, silmukoita,
tai yli 3 riviä inline-koodia, siirrä omaksi scriptikseen `.gitea/scripts/`-
kansioon.
Esimerkki: coverage-datan purku ja navigointi-indexin luonti oli aluksi
inline-heredocina workflow YAML:ssa. Siirto omaan `bats-coverage.sh`-scriptiin
teki siitä luettavan, testattavan ja muokattavan ilman YAML-muotoiluriskejä.