ci(installer): enforce greenfield case coverage
ci/woodpecker/pr/ci Pipeline was canceled
ci/woodpecker/pr/greenfield-install Pipeline was canceled

This commit is contained in:
be-coder-05
2026-08-06 02:52:14 -05:00
parent 0e2eef1c12
commit f33bd0da96
8 changed files with 355 additions and 3 deletions
+46
View File
@@ -6,8 +6,19 @@ when:
branch: [next, main]
steps:
greenfield-case-denominator-init:
image: node:22-bookworm-slim
commands:
- |
coverage_run="${CI_PIPELINE_NUMBER}-${CI_WORKFLOW_NUMBER}"
bash tools/verify-greenfield-case-coverage.sh init \
tools/fixtures/greenfield-expected-red.tsv .greenfield-case-state \
"$coverage_run"
greenfield-git-present:
image: node:22-bookworm-slim
depends_on:
- greenfield-case-denominator-init
commands:
- |
set +e
@@ -19,9 +30,15 @@ steps:
cat /tmp/greenfield-git-present.log
bash tools/verify-greenfield-expected-red.sh \
next-git-present /tmp/greenfield-git-present.log "$fixture_status"
coverage_run="${CI_PIPELINE_NUMBER}-${CI_WORKFLOW_NUMBER}"
bash tools/verify-greenfield-case-coverage.sh mark \
tools/fixtures/greenfield-expected-red.tsv .greenfield-case-state \
"$coverage_run" next-git-present
greenfield-main-git-present:
image: node:22-bookworm-slim
depends_on:
- greenfield-case-denominator-init
commands:
- |
set +e
@@ -33,9 +50,15 @@ steps:
cat /tmp/greenfield-main-git-present.log
bash tools/verify-greenfield-expected-red.sh \
main-git-present /tmp/greenfield-main-git-present.log "$fixture_status"
coverage_run="${CI_PIPELINE_NUMBER}-${CI_WORKFLOW_NUMBER}"
bash tools/verify-greenfield-case-coverage.sh mark \
tools/fixtures/greenfield-expected-red.tsv .greenfield-case-state \
"$coverage_run" main-git-present
greenfield-remote-installer-contract:
image: node:22-bookworm-slim
depends_on:
- greenfield-case-denominator-init
commands:
- |
expected="$(awk 'NF {print $1; exit}' tools/install.sh.sha256)"
@@ -56,6 +79,8 @@ steps:
greenfield-git-absent:
image: node:22-bookworm-slim
depends_on:
- greenfield-case-denominator-init
commands:
- |
set +e
@@ -67,3 +92,24 @@ steps:
cat /tmp/greenfield-git-absent.log
bash tools/verify-greenfield-expected-red.sh \
next-git-absent /tmp/greenfield-git-absent.log "$fixture_status"
coverage_run="${CI_PIPELINE_NUMBER}-${CI_WORKFLOW_NUMBER}"
bash tools/verify-greenfield-case-coverage.sh mark \
tools/fixtures/greenfield-expected-red.tsv .greenfield-case-state \
"$coverage_run" next-git-absent
greenfield-case-denominator:
image: node:22-bookworm-slim
# Publish exact execution coverage after the full matrix, even if a case failed.
depends_on:
- greenfield-git-present
- greenfield-main-git-present
- greenfield-remote-installer-contract
- greenfield-git-absent
when:
- status: [success, failure]
commands:
- |
coverage_run="${CI_PIPELINE_NUMBER}-${CI_WORKFLOW_NUMBER}"
bash tools/verify-greenfield-case-coverage.sh check \
tools/fixtures/greenfield-expected-red.tsv .greenfield-case-state \
"$coverage_run"