fix(gate): stop reporting a compile timeout as a test failure

cargo-test-weekly failed twice today with exit 124 at unit 427/429 — the
non-incremental test-profile build running out of wall clock mid-compile,
before a single test executed. The summary said only "FAIL: cargo-test-
weekly", which reads as a broken test and sends you hunting for one that
does not exist.

Two changes: the ceiling goes 1500s -> 3600s (580s was already found too
short; 1500s now dies on the biggest link on a loaded, swapping box), and
stage() names exit 124 as a timeout rather than printing a bare code.

Verified both reporting branches: a timed-out stage and an ordinary
non-zero exit.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
archipelago
2026-08-20 01:50:52 -04:00
co-authored by Claude Opus 5
parent 5ccef0ac2f
commit f5b112c508
+17 -4
View File
@@ -46,7 +46,16 @@ stage() { # stage <name> <cmd...>
echo "=== [$name] PASS" echo "=== [$name] PASS"
PASS+=("$name") PASS+=("$name")
else else
echo "=== [$name] FAIL (exit $?)" local rc=$?
# 124 is `timeout` killing the stage. Reporting it as a bare exit code
# reads as "the tests failed" and sends you hunting for a broken test
# that does not exist — say plainly that it ran out of wall clock.
if [ "$rc" -eq 124 ]; then
echo "=== [$name] FAIL (exit 124 — TIMED OUT, not a test failure)"
echo "=== the command ran out of wall clock; re-run, or raise its timeout"
else
echo "=== [$name] FAIL (exit $rc)"
fi
FAIL+=("$name") FAIL+=("$name")
summary 1 summary 1
fi fi
@@ -110,9 +119,13 @@ stage "cargo-check" timeout 580 cargo check --manifest-path core/Cargo.toml
# scanner — RAII in-flight guard (v1.7.84) # scanner — RAII in-flight guard (v1.7.84)
# drift — published-port drift detection (the .116 self-heal) # drift — published-port drift detection (the .116 self-heal)
# missing_secret — secret-resolution names the missing file (the .198 fix) # missing_secret — secret-resolution names the missing file (the .198 fix)
# 1500s: the non-incremental test-profile compile alone takes ~9 min on the # TIMEOUT, NOT TEST FAILURE: exit 124 here means the compile ran out of wall
# .116 ThinkPad; 580s expires mid-compile (exit 124) before a single test runs. # clock, not that anything failed. The non-incremental test-profile build has
stage "cargo-test-weekly" timeout 1500 env CARGO_INCREMENTAL=0 \ # outgrown every ceiling set for it — 580s expired mid-compile, then on
# 2026-08-20 1500s died at unit 427/429 (the archipelago bin test, the biggest
# link) on a loaded, swapping dev box, again without running a single test.
# 3600s leaves headroom; a warm target/ finishes in a fraction of it.
stage "cargo-test-weekly" timeout 3600 env CARGO_INCREMENTAL=0 \
cargo test --manifest-path core/Cargo.toml -p archipelago -- \ cargo test --manifest-path core/Cargo.toml -p archipelago -- \
update:: lnd container::image_versions scanner drift missing_secret update:: lnd container::image_versions scanner drift missing_secret