#!/bin/bash # Row 71 round 1 gate, run from the worktree root (base ac6b56ee5 plus build.patch). # Steps chain with && and stop at the first failure. Each child runs through run_group.py, # which kills its whole process group on timeout. P=agents/researcher/work/queue-71/r1 OUT=$P/out RUN="python3 $P/run_group.py" S=$OUT/gate-summary.txt mkdir -p "$OUT" : > "$S" stamp() { date -u +%Y-%m-%dT%H:%M:%SZ; } note() { echo "$*" >> "$S"; } # step NAME TIMEOUT_S LOGNAME -- CMD... step() { local name=$1 t=$2 log=$OUT/$3 rc t0 shift 3 shift # the -- t0=$(stamp) $RUN "$t" "$log" "$PWD" -- "$@" rc=$? note "$name rc=$rc start=$t0 end=$(stamp) $(grep -E '^# (tests|pass|fail|cancelled|skipped|todo) ' "$log" | tr -s ' ' | tr '\n' ' ')" [ "$rc" -eq 0 ] || note "$name FAILED; last line: $(grep -v '^\s*$' "$log" | tail -1 | cut -c1-200)" return "$rc" } note "gate start $(stamp) base $(git rev-parse HEAD)" if sha256sum -c "$P/candidate-manifest.sha256" > "$OUT/manifest-check.txt" 2>&1 \ && step node-tasks 900 node-tasks.log -- env DOCKER_HOST=unix:///nonexistent.sock node --test --test-reporter=tap 'packages/tasks/tests/*.test.mjs' \ && step node-bus 900 node-bus.log -- env DOCKER_HOST=unix:///nonexistent.sock node --test --test-reporter=tap 'packages/bus/tests/*.test.mjs' \ && step test-auth 1200 test-auth.log -- env -u DOCKER_HOST bash scripts/test-auth.sh \ && step test-conductor 1200 test-conductor.log -- env -u DOCKER_HOST bash scripts/test-conductor.sh \ && step test-config 1200 test-config.log -- env -u DOCKER_HOST bash scripts/test-config.sh \ && step test-discord 1200 test-discord.log -- env -u DOCKER_HOST bash scripts/test-discord.sh \ && step test-extension-package 1200 test-extension-package.log -- env -u DOCKER_HOST bash scripts/test-extension-package.sh \ && step test-foundation 1200 test-foundation.log -- env -u DOCKER_HOST bash scripts/test-foundation.sh \ && step test-queue 1200 test-queue.log -- env -u DOCKER_HOST bash scripts/test-queue.sh \ && step test-release 1200 test-release.log -- env -u DOCKER_HOST bash scripts/test-release.sh \ && step test-task 1200 test-task.log -- env DOCKER_HOST=unix:///nonexistent.sock bash scripts/test-task.sh then note "GATE PASS $(stamp)" exit 0 fi note "GATE STOPPED $(stamp)" exit 1