class v6 kit: gate-remote.sh runs the full gate over the kit tree on a build box (the class-v5 script)

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
igneum-labs 2026-10-08 19:54:31 +00:00
parent fe1a0804c7
commit 0372cdca31

26
tools/class-v5/gate-remote.sh Executable file
View file

@ -0,0 +1,26 @@
#!/usr/bin/env bash
# The FULL gate (tools/ci/pre-push.sh with no arguments) over this worktree's tree, run on a build box, never on the Mac (the
# no-Mac-builds rule of 7 October 2026). Shape as kits-remote.sh: the sources sync to the worktree's mirror checkout on the box
# and the gate runs there from the script FILE the commit carries (no inline string). Usage: tools/class-v5/gate-remote.sh [--box N]
# Exit: the gate's own status; the log at /tmp/v5-gate-<stamp>.log on the Mac.
set -euo pipefail
HERE="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
. "$HERE/../../infra/build-server/lib.sh"
BOX=1
while [ $# -gt 0 ]; do case "$1" in --box) BOX="$2"; shift 2 ;; *) echo "unknown argument $1" >&2; exit 2 ;; esac; done
export IGNEUM_AGENT="${IGNEUM_AGENT:-v5-gate}"
bs_host "$BOX"
pushd "$HERE/../../igneum-pow" > /dev/null; bs_context; popd > /dev/null
WT="$BS_REMOTE_WT"
STAMP=$(date -u +%Y%m%dT%H%M%SZ)
bs_toolchain_check
bs_sync_sources
bs_log "sources at $WT (commit $BS_SHA on $BS_BRANCH); the full gate on box $BOX"
CMD="cd '$WT' && IGNEUM_GATE_NO_TITLE=1 bash tools/ci/pre-push.sh"
set +e
BR_KIND=gate BR_COMMAND="the full gate (tools/ci/pre-push.sh) over the class-v6-kits tree" BR_TARGET="x86_64-linux" BR_ARTEFACTS="" \
bs_remote_run "$WT" "$BS_WT class-v6-kits full gate" "$CMD" 2>&1 | tee "/tmp/v5-gate-$STAMP.log" | grep -E '^( (ok|FAIL|RED)|pre-push gate|FAIL|build-remote: RESULT)'
rc=${PIPESTATUS[0]}
set -e
bs_wt_unlock
[ "$rc" = 0 ] && bs_log "full gate GREEN at $BS_SHA" || bs_die "full gate RED (rc $rc); full log /tmp/v5-gate-$STAMP.log"