From f5b112c508458f505da1c44f9624f25cde1d4bcb Mon Sep 17 00:00:00 2001 From: archipelago Date: Thu, 20 Aug 2026 01:50:52 -0400 Subject: [PATCH] fix(gate): stop reporting a compile timeout as a test failure MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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) --- tests/release/run.sh | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/tests/release/run.sh b/tests/release/run.sh index dec58bf1..b7c19b34 100755 --- a/tests/release/run.sh +++ b/tests/release/run.sh @@ -46,7 +46,16 @@ stage() { # stage echo "=== [$name] PASS" PASS+=("$name") 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") summary 1 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) # drift — published-port drift detection (the .116 self-heal) # missing_secret — secret-resolution names the missing file (the .198 fix) -# 1500s: the non-incremental test-profile compile alone takes ~9 min on the -# .116 ThinkPad; 580s expires mid-compile (exit 124) before a single test runs. -stage "cargo-test-weekly" timeout 1500 env CARGO_INCREMENTAL=0 \ +# TIMEOUT, NOT TEST FAILURE: exit 124 here means the compile ran out of wall +# clock, not that anything failed. The non-incremental test-profile build has +# 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 -- \ update:: lnd container::image_versions scanner drift missing_secret