#!/bin/bash set -o pipefail # Darkwing gate, row 104 (#1598), candidate in the r104 worktree on base 817ddfea6. # Every package's node suite, then every scripts/test-*.sh, sequential, each # teed to its own log; stops at the first failure. G=$HOME/darkwing-scratch/r104/wt OUT=$HOME/darkwing-scratch/r104/gate export TMPDIR=$HOME/darkwing-scratch/r104/tmp mkdir -p "$OUT" "$TMPDIR" cd "$G" || exit 9 [ -e "$G/node_modules" ] || { echo "STOP no node_modules in $G"; exit 8; } echo "base $(git rev-parse --short HEAD) DOCKER_HOST=${DOCKER_HOST:-unset} docker=$(docker info --format '{{.ServerVersion}}' 2>/dev/null || echo none) start $(date -u +%H:%M:%S)" run() { local name="$1" dir="$2" cmd="$3" t0; t0=$(date -u +%H:%M:%S) (cd "$G/$dir" && bash -c "$cmd") 2>&1 | tee "$OUT/$name.log" > /dev/null; local rc=$? echo "$name rc=$rc $t0-$(date -u +%H:%M:%S) $(grep -E '^ℹ (pass|fail|skipped) [0-9]+' "$OUT/$name.log" | tr '\n' ' ') | $(tail -n1 "$OUT/$name.log")" [ $rc -eq 0 ] || { echo "STOP $name"; exit $rc; }; } for d in packages/*/; do p=$(basename "$d"); [ -d "$d/tests" ] || continue run "pkg-$p" "packages/$p" 'node --test tests/*.test.mjs'; done for s in scripts/test-*.sh; do n=$(basename "$s" .sh); run "script-${n#test-}" . "bash $s"; done echo "GATE_PASSED $(date -u +%H:%M:%S)"