CI runs behavior gates; self-host fixpoint is dev-only (jolt-8479)

The self-host byte-fixpoint (make selfhost) only holds on the Chez that minted
the seed — CI's Debian Chez emits byte-different output for some constructs
(isolated to the dedupe re-mint), so it failed there. The checked-in seed RUNS
correctly on any Chez, so CI now runs 'make ci' (corpus/unit/smoke/sci/certify);
'make test' keeps selfhost for local dev. Cross-version emit determinism tracked
in jolt-8479.
This commit is contained in:
Yogthos 2026-06-21 15:46:40 -04:00
parent 7d0e2f2b61
commit 9ca30a236d
2 changed files with 15 additions and 4 deletions

View file

@ -4,12 +4,20 @@
# build step. `make test` is the full gate. `make remint` rebuilds the seed after a
# source change.
.PHONY: test values corpus unit smoke selfhost sci certify remint
.PHONY: test ci values corpus unit smoke selfhost sci certify remint
# Full gate. Each step exits non-zero on failure, failing the target.
test: selfhost values corpus unit smoke sci certify
# Full gate (dev machine). Includes the self-host byte-fixpoint, which only holds
# on the same Chez that minted the seed.
test: selfhost ci
@echo "OK: all gates passed"
# CI gate: behavior only. The checked-in seed is a minted artifact (like a
# lockfile) — it RUNS correctly on any Chez, but `selfhost` rebuilds it and a
# different Chez version may emit byte-different (gensym/order) output, so the
# byte-fixpoint is a dev-machine check, not a CI one (jolt-8479).
ci: values corpus unit smoke sci certify
@echo "OK: CI gates passed"
# Self-host fixpoint: bootstrap.ss rebuild == checked-in seed.
selfhost:
@sh host/chez/selfcheck.sh