diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 064e41af..8339effb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -48,7 +48,5 @@ jobs: run: scripts/doc-links.py - name: pass-span-lint run: scripts/pass-span-lint.py - - name: player-build - run: cargo build -p benilla --no-default-features - name: player-tests run: cargo test -p benilla-formats -p benilla-app --no-default-features --lib diff --git a/scripts/check.sh b/scripts/check.sh index 784f08cd..9cdccfce 100755 --- a/scripts/check.sh +++ b/scripts/check.sh @@ -92,7 +92,7 @@ esac pflags="" for p in $pkgs; do pflags="$pflags -p $p"; done echo "check: scope = $pkgs" -echo "check: (changed crates + everything that depends on them; full chain still runs at sync→land)" +echo "check: (changed crates + everything that depends on them; the full chain runs once, at land)" log="$(mktemp "${TMPDIR:-/tmp}/benilla-check.XXXXXX")" skips="$(mktemp "${TMPDIR:-/tmp}/benilla-check-skips.XXXXXX")" @@ -120,4 +120,4 @@ if [ -s "$skips" ]; then fi echo "CHECK GREEN (scoped: $pkgs)" -echo " (land still pays the full chain once: scripts/gates.sh — memoized, so an already-gated tree is free)" +echo " (the full chain, scripts/gates.sh, runs once on the tree that lands; a run before it repeats it)" diff --git a/scripts/gates.sh b/scripts/gates.sh index bdc704c6..b3cb45b4 100755 --- a/scripts/gates.sh +++ b/scripts/gates.sh @@ -1,8 +1,8 @@ #!/usr/bin/env bash # The land gate chain: every gate in order, stopping at the first failure. # -# fmt, clippy, test, test-no-install, doc-links, pass-span-lint, player-build, player-tests, -# enforcer, enforcer-no-install. A failure prints the gate's log tail and exits nonzero; a green +# fmt, clippy, test, test-no-install, doc-links, pass-span-lint, player-tests, enforcer, +# enforcer-no-install. A failure prints the gate's log tail and exits nonzero; a green # run stamps the tree, which then re-greens without running. GATES_FORCE=1 runs the chain anyway, # WOW_DATA picks the install (set and empty: none) and TMPDIR holds the scratch files; the script # sets BENILLA_REQUIRE_DATA, BENILLA_ADDON_CORPUS, BENILLA_SKIP_LOG and WOW_WORLDVIEW_CHECK for @@ -135,12 +135,12 @@ run doc-links scripts/doc-links.py # wgpu validation error on Vulkan and a silent no-op on Metal and DX12, which no macOS run sees. run pass-span-lint scripts/pass-span-lint.py -# player-build: `benilla` without `dev`, which compiles out the debug panel, perf HUD, inspector, -# capture harness and probes, so it fails when any other code names one of them. -run player-build cargo build -p benilla --no-default-features - -# player-tests: the unit tests of the `cfg(not(feature = "dev"))` code (the resolver skips the -# source tree; the state folder sits beside the binary), which no other gate runs. WOW_DATA, which +# player-tests: the player build, `benilla-app` without `dev`, which compiles out the debug panel, +# perf HUD, inspector, capture harness and probes, so it fails when any other code names one of +# them. Its test build compiles every line of the player graph but the `benilla` launcher, a shim +# with no `dev` seam, so a `cargo build -p benilla --no-default-features` would add only the shim +# and a link. It runs the unit tests of the `cfg(not(feature = "dev"))` code (the resolver skips +# the source tree; the state folder sits beside the binary), which no other gate runs. WOW_DATA, which # a player build reads too, goes in for the shipped-UI tests that read FrameXML off the install. # Without `dev` only $BENILLA_ADDON_CORPUS finds the addon corpus, so the link goes in by that name, # and BENILLA_REQUIRE_DATA refuses a skip here exactly where it does in `test`.