diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 1841eb7..9c6d491 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -35,4 +35,7 @@ jobs: clojure --version - name: Gate - run: make test + # `make ci` runs the behavior gates (corpus/unit/smoke/sci/certify). The + # self-host byte-fixpoint (make selfhost) is a dev-machine check — it only + # holds on the Chez that minted the seed. See jolt-8479. + run: make ci diff --git a/Makefile b/Makefile index 2a336b1..b10bbb0 100644 --- a/Makefile +++ b/Makefile @@ -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