Files
stack/.woodpecker/greenfield-install.yml
T
be-coder-05 229f643a84
ci/woodpecker/pr/ci Pipeline failed
ci/woodpecker/pr/greenfield-install Pipeline was successful
feat(installer): add transactional P0-P9 state machine
2026-08-05 12:20:49 -05:00

71 lines
3.3 KiB
YAML

# 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.
when:
- event: [pull_request, manual]
- event: push
branch: [next, main]
steps:
greenfield-git-present:
image: node:22-bookworm-slim
commands:
- |
set +e
MOSAIC_GREENFIELD_CONTAINER=1 \
bash tools/e2e-install-test.sh --lane next --source checkout --git present \
> /tmp/greenfield-git-present.log 2>&1
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
greenfield-main-git-present:
image: node:22-bookworm-slim
commands:
- |
set +e
MOSAIC_GREENFIELD_CONTAINER=1 \
bash tools/e2e-install-test.sh --lane main --source checkout --git present \
> /tmp/greenfield-main-git-present.log 2>&1
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
greenfield-git-absent:
image: node:22-bookworm-slim
commands:
- |
set +e
MOSAIC_GREENFIELD_CONTAINER=1 \
bash tools/e2e-install-test.sh --lane next --source checkout --git absent \
> /tmp/greenfield-git-absent.log 2>&1
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