diff --git a/scripts/farm/farm-lab-sync.sh b/scripts/farm/farm-lab-sync.sh index 271a475c..396b5670 100755 --- a/scripts/farm/farm-lab-sync.sh +++ b/scripts/farm/farm-lab-sync.sh @@ -51,7 +51,13 @@ $SSH "root@$IP" "set -e rm -rf alpine.viejo" log "3/4 recompilando hammer en el worker (el binario debe traer el lab en hash_inputs)" -$SSH "root@$IP" "cd $REMOTE && . \$HOME/.cargo/env 2>/dev/null; cargo build --release --bin hammer 2>&1 | tail -2" +# `touch` ANTES de compilar, y no es paranoia: `rsync -a` PRESERVA EL MTIME DEL HUB, así que un +# fuente recién sincronizado puede quedar más VIEJO que el binario que el worker compiló hace un +# rato ⇒ cargo dice «Finished in 0.09s» y no recompila nada. El worker se queda con el hammer +# anterior, calcula la huella vieja y el paso 4 falla sin que se vea por qué (2026-08-12). +$SSH "root@$IP" "cd $REMOTE && . \$HOME/.cargo/env 2>/dev/null + find crates -name '*.rs' -exec touch {} + + cargo build --release --bin hammer 2>&1 | tail -2" log "4/4 EVIDENCIA: ¿el worker sella en la misma dirección que el hub?" h_hub=$("$ROOT/target/release/hammer" --store "$ROOT/store" hash "$TESTIGO" | tail -1)