71 lines
3.3 KiB
YAML
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
|