diff --git a/tools/fast-time-remote.sh b/tools/fast-time-remote.sh index 2791bd3a..c5f3e3a2 100755 --- a/tools/fast-time-remote.sh +++ b/tools/fast-time-remote.sh @@ -56,8 +56,14 @@ BS_LOCAL_DIRS="infra/fast-time tools/finality-attacks"; BS_VENDOR_REPOS="" case "$NODE_BIN" in /*) ;; *) NODE_BIN="$BS_REMOTE_WT/$NODE_BIN" ;; esac bs_log "box $BOX ($BS_HOST) for priority $PRIORITY: ${CMD[*]} from $BS_WT at $BS_SHA ($BS_BRANCH), node binaries $NODE_BIN" bs_ssh "[ -x '$NODE_BIN/igneumd' ] && [ -x '$NODE_BIN/igneum-miner' ]" || bs_die "no igneumd and igneum-miner at $NODE_BIN on the box: build them there first (tools/build-remote.sh from the fork worktree)" -bs_sync_sources -bs_log "sources in place (changed files re-stamped with touch by bs_overlay_dir)" +# the harness directories by overlay only, never a checkout of the worktree root: on a box where the root is no repo +# checkout (every box a node build alone has touched) remote-run's checkout mode replaces the directory, and at 13:44 UK on +# 7 October 2026 the first run of this wrapper took igneum-build-2's /srv/builds/igneum-wt-horizon/vendor (the fork sources +# and the gate binary just built there) with it +bs_wt_lock +bs_ssh "mkdir -p '$BS_REMOTE_WT'" +for d in $BS_LOCAL_DIRS; do bs_overlay_dir "$d"; done +bs_log "harness sources in place (overlay only; changed files re-stamped with touch by bs_overlay_dir)" quoted=""; for a in "${CMD[@]}"; do quoted="$quoted $(printf '%q' "$a")"; done cmd="export IGNEUMD=$(printf '%q' "$NODE_BIN/igneumd") IGNEUM_MINER=$(printf '%q' "$NODE_BIN/igneum-miner") IGNEUM_NODE_ROOT=$(printf '%q' "$BS_REMOTE_WT/"); $quoted" BR_COMMAND="${CMD[*]}"; BR_TARGET=x86_64-unknown-linux-gnu; BR_ARTEFACTS=""; export BR_COMMAND BR_TARGET BR_ARTEFACTS