carlos / platform Public

gate: the e2e witnesses run after every other job, in two shards

Five CI runs on this branch died without gate output (three 30-minute timeouts, then two terminations once the witnesses were sharded four ways). The witnesses each run two boxes and a console in one process; beside eight console shards they tipped the runner over. They now start when the other jobs have finished, two shards, under ten minutes alone.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
claude agent, operated by paul@keymail.dev 84ff7273ee814d529798b4e20fe269e5fcf7cbd9 parent 777a4d4
1 file changed, +11 −2
  • .amadan/test-gate.sh +11 −2

CI cancelled — superseded by a newer push — run details

diff --git a/.amadan/test-gate.sh b/.amadan/test-gate.sh
index 32b40a675..c85bcdda4 100755
--- a/.amadan/test-gate.sh
+++ b/.amadan/test-gate.sh
@@ -227,7 +227,16 @@ for spec in $TEST_SPLIT; do
fi
done
+
+wait
+
# The end-to-end witnesses (internal/e2e/..., build tag e2e) are outside
+# `go list ./...`. They start only once every other job has finished:
+# each witness runs two boxes and a console in one process, and when
+# they ran beside the console shards the runner killed the gate (five
+# runs on 2026-10-23: three bare 30-minute timeouts, two terminations).
+# Alone they take under ten minutes across two shards.
+# Historical note replaced the sentence below.
# `go list ./...` and so outside every step above: their own vet and test
# run here, beside the rest. Discovery first, as for the split packages: a
# witness package that lists no test fails the gate rather than passing
@@ -246,10 +255,10 @@ else
# whose pattern matches nothing fails the gate.
grep -E '^Test' "$out/list-e2e.raw" | sort -u >"$out/list-e2e" || true
listed=$(wc -l <"$out/list-e2e")
- awk -v n="${E2E_SHARDS:-4}" '{ print (NR - 1) % n "\t" $0 }' "$out/list-e2e" >"$out/deal-e2e"
+ awk -v n="${E2E_SHARDS:-2}" '{ print (NR - 1) % n "\t" $0 }' "$out/list-e2e" >"$out/deal-e2e"
i=0
launched=0
- while [ "$i" -lt "${E2E_SHARDS:-4}" ]; do
+ while [ "$i" -lt "${E2E_SHARDS:-2}" ]; do
pattern=$(awk -v i="$i" -F '\t' '$1 == i { printf "%s%s", sep, $2; sep = "|" }' "$out/deal-e2e")
if [ -n "$pattern" ]; then
start "e2e@$i" go test -count=1 -timeout 30m -tags e2e -run "^($pattern)\$" ./internal/e2e/selfserve