gate: one split package's shards at a time
Twelve runs on the lane box died by SIGTERM 35-50 s after the console's eight shards and the root package's three had started together (with rest, vet, gofmt and launchctx), while every probe with fewer concurrent shards finished. Nothing in the gate, the tests or the runner sends SIGTERM (the runner's own cancel is SIGKILL to the group), so the one variable left is concurrent load on the shared box. The gate now runs the console shards (beside rest), then the root shards, then the e2e shards. Cost: the root shards' wall time once per run.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
1 file changed,
+9
−0
.amadan/test-gate.sh+9 −0
CI cancelled — superseded by a newer push — run details
CI log
=== gate === .amadan/test-gate.sh gate: 2026-10-24T02:09:51Z on aarch64, 32 cpus, 61457 MB available, go1.26.8 linux/arm64 gate: +0s start launchctx gate: +0s start vet gate: +0s start gofmt gate: +0s start rest gate: +21s start internal_console@0 gate: +21s start internal_console@1 gate: +21s start internal_console@2 gate: +21s start internal_console@3 gate: +21s start internal_console@4 gate: +21s start internal_console@5 gate: +21s start internal_console@6 gate: +21s start internal_console@7 gate: +21s waiting for internal_console's shards before the next split package gate: +185s start root@0 gate: +185s start root@1 gate: +185s start root@2 gate: +185s waiting for root's shards before the next split package amadan: job cancelled — a newer push superseded it
diff --git a/.amadan/test-gate.sh b/.amadan/test-gate.sh| index 6b7c043dd..9a7fa1a6a 100755 |
| --- a/.amadan/test-gate.sh |
| +++ b/.amadan/test-gate.sh |
| @@ -246,6 +246,15 @@ for spec in $TEST_SPLIT; do |
| if [ "$launched" -ne "$listed" ]; then |
| fail_job "$tag-deal" "launched $launched of $listed tests in $pkg" |
| fi |
| + # One split package's shards at a time. On 2026-10-23/24 twelve runs |
| + # on the shared lane box died by SIGTERM some 35-50 s after the eleven |
| + # shards of both split packages had started together, while every run |
| + # with fewer concurrent shards finished (ledger of self-serve-moves-2, |
| + # amadan #359). Nothing in the gate, the tests or the runner sends that |
| + # signal; the one variable that tracked the kill was concurrent load. |
| + # Waiting here costs the root shards' wall time once per run. |
| + echo "gate: +$(gate_elapsed)s waiting for $tag's shards before the next split package" |
| + wait |
| done |