fix(ci): assert pinned greenfield expected red
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
# C1 expected-RED gate. The fixture must execute from zero and discriminate the
|
||||
# known failed postconditions; this step is green only when the fixture itself
|
||||
# returns the expected non-zero and the named evidence rows are present.
|
||||
# C1 detector gate. The fixture itself is intentionally RED; CI is green only
|
||||
# when its exact phase verdicts/reasons match the versioned expected-RED manifest.
|
||||
when:
|
||||
- event: [pull_request, manual]
|
||||
- event: push
|
||||
@@ -18,15 +17,8 @@ steps:
|
||||
fixture_status=$?
|
||||
set -e
|
||||
cat /tmp/greenfield-git-present.log
|
||||
test "$fixture_status" -eq 1
|
||||
grep -Eq '^\[fixture\] resolved lane=next .*version=[0-9]+\.[0-9]+\.[0-9]+-next\.' /tmp/greenfield-git-present.log
|
||||
grep -q '^\[P1\] PASS: required tools present (including downstream git)' /tmp/greenfield-git-present.log
|
||||
grep -q '^\[P3\] PASS: absolute_path=.* version=.* equals resolved lane version' /tmp/greenfield-git-present.log
|
||||
grep -q '^\[P4\] FAIL: NOT-MEASURED / UNDECLARED:' /tmp/greenfield-git-present.log
|
||||
grep -q '^\[P5\] FAIL:' /tmp/greenfield-git-present.log
|
||||
grep -q '^\[P6\] FAIL:' /tmp/greenfield-git-present.log
|
||||
grep -q '^\[P8\] FAIL:' /tmp/greenfield-git-present.log
|
||||
grep -q '^\[P9\] FAIL:' /tmp/greenfield-git-present.log
|
||||
bash tools/verify-greenfield-expected-red.sh \
|
||||
next-git-present /tmp/greenfield-git-present.log "$fixture_status"
|
||||
|
||||
greenfield-main-git-present:
|
||||
image: node:22-bookworm-slim
|
||||
@@ -39,15 +31,8 @@ steps:
|
||||
fixture_status=$?
|
||||
set -e
|
||||
cat /tmp/greenfield-main-git-present.log
|
||||
test "$fixture_status" -eq 1
|
||||
grep -Eq '^\[fixture\] resolved lane=main .*version=[0-9]+\.[0-9]+\.[0-9]+' /tmp/greenfield-main-git-present.log
|
||||
grep -q '^\[P1\] PASS: required tools present (including downstream git)' /tmp/greenfield-main-git-present.log
|
||||
grep -q '^\[P3\] PASS: absolute_path=.* version=.* equals resolved lane version' /tmp/greenfield-main-git-present.log
|
||||
grep -q '^\[P4\] FAIL: NOT-MEASURED / UNDECLARED:' /tmp/greenfield-main-git-present.log
|
||||
grep -q '^\[P5\] FAIL:' /tmp/greenfield-main-git-present.log
|
||||
grep -q '^\[P6\] FAIL:' /tmp/greenfield-main-git-present.log
|
||||
grep -q '^\[P8\] FAIL:' /tmp/greenfield-main-git-present.log
|
||||
grep -q '^\[P9\] FAIL:' /tmp/greenfield-main-git-present.log
|
||||
bash tools/verify-greenfield-expected-red.sh \
|
||||
main-git-present /tmp/greenfield-main-git-present.log "$fixture_status"
|
||||
|
||||
greenfield-git-absent:
|
||||
image: node:22-bookworm-slim
|
||||
@@ -60,11 +45,5 @@ steps:
|
||||
fixture_status=$?
|
||||
set -e
|
||||
cat /tmp/greenfield-git-absent.log
|
||||
test "$fixture_status" -eq 1
|
||||
grep -q '^\[fixture\] installer_exit=1 done_claims=0' /tmp/greenfield-git-absent.log
|
||||
grep -q '^\[P1\] FAIL: undeclared/missing prerequisite(s)=git;' /tmp/greenfield-git-absent.log
|
||||
grep -q '^\[P3\] FAIL: .*executable=no' /tmp/greenfield-git-absent.log
|
||||
if grep -q 'Done\.' /tmp/greenfield-git-absent.log; then
|
||||
echo 'git-absent state-machine run falsely certified Done' >&2
|
||||
exit 1
|
||||
fi
|
||||
bash tools/verify-greenfield-expected-red.sh \
|
||||
next-git-absent /tmp/greenfield-git-absent.log "$fixture_status"
|
||||
|
||||
Reference in New Issue
Block a user