gates: drop the player build that the player tests already compile (#719)
The land chain compiled the player build twice: `cargo build -p benilla --no-default-features`, then `cargo test -p benilla-formats -p benilla-app --no-default-features --lib`. The test build already compiles every line of the no-`dev` graph but the `benilla` launcher, a 17-line shim with no `dev` seam, and `benilla-app` has no `cfg(not(test))` code, so the first step added only the shim and a link: about two of a chain's twelve minutes. It goes from `gates.sh` and CI, and `player-tests` carries its comment. `check.sh` no longer says a full chain before land makes the land free: main moves in between, so the chain ran twice. Test: this land's own chain runs the new `gates.sh`. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
c03ca1e4be
commit
2b700e6b0d
+2
-2
@@ -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)"
|
||||
|
||||
+8
-8
@@ -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`.
|
||||
|
||||
Reference in New Issue
Block a user