#!/usr/bin/env bash
# usage: tools/gpu/check_site.sh <local_out>: serve site/out/pub on gex44 127.0.0.1, run site_probe.py, copy shots back.
set -euo pipefail
ROOT=$(cd "$(dirname "$0")/../.." && pwd); OUT=$1; HOST=root@5.9.10.114; RUN=/tmp/fal-gpu/site-$(date +%s%N); PORT=${FAL_PORT:-8962}
mkdir -p "$OUT"; ssh "$HOST" "mkdir -p $RUN/site $RUN/out"
rsync -a "$ROOT/site/out/pub/" "$HOST:$RUN/site/"; scp -q "$ROOT/tools/gpu/${FAL_PROBE:-site_probe.py}" "$HOST:$RUN/probe.py"
ssh "$HOST" "cd $RUN/site && (python3 -m http.server $PORT --bind 127.0.0.1 >/dev/null 2>&1 & echo \$! > $RUN/server.pid) && sleep 1 &&
  python3 $RUN/probe.py http://127.0.0.1:$PORT/ $RUN/out; rc=\$?; kill \$(cat $RUN/server.pid) 2>/dev/null; exit \$rc"
rsync -a "$HOST:$RUN/out/" "$OUT/"; ssh "$HOST" "find $RUN -delete"
