tawasuyu

tawasuyu/brahman

Rust 483TOML 191Markdown 50JSON 176777 Definiciones

fix(arje): validate.sh robusto frente a timeout 124 + pipefail

timeout 5 retorna 124 al matar ente-zero (dev mode termina solo). Bajo
set -euo pipefail eso abortaba el script antes de chequear el log, así
que build-arje-initrd.sh reportaba "seed inválida" aunque la Card
estuviera bien.

Cambios:
- Capturamos el output a un archivo (no pipeline) con set +e alrededor
  del timeout, así el exit code no importa.
- El check sigue siendo grep -q sobre "Tarjeta Semilla cargada y
  validada"; si falla, ahora imprimimos las primeras 40 líneas del log
  al stderr para debug.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

e4882033cf9a5536721ed8bf672a8fed971e78f8 · por sergio · (hace 5 meses) · padre 074d8bcbc · ver el árbol en este commit

Delta semántico

Ninguna definición cambió: el cambio es de texto, documentación o datos.

1 archivos · +16 −3

diff --git a/seeds/validate.sh b/seeds/validate.sh
index edb2de7..4615098 100755
--- a/seeds/validate.sh
+++ b/seeds/validate.sh
@@ -29,12 +29,25 @@ trap 'rm -rf "$SCRATCH"' EXIT
 cp "$SEED" "$SCRATCH/seed.card.json"
 
 cd "$SCRATCH"
-timeout 5 "$BIN" 2>&1 | tee /tmp/arje-validate.log | \
-  grep -E "Tarjeta Semilla cargada|semilla inválida|JSON no contiene|Caused by" | head -5
+LOG="$SCRATCH/ente-zero.log"
 
-if grep -q "Tarjeta Semilla cargada y validada" /tmp/arje-validate.log; then
+# `timeout` retorna 124 al matar el proceso (dev-mode termina solo a los 4 s
+# de todas formas). Aceptamos cualquier exit code aquí; lo que importa es lo
+# que escribió al log.
+set +e
+timeout 5 "$BIN" >"$LOG" 2>&1
+set -e
+
+# Mostrar las líneas relevantes (no es fatal si no aparecen — el check real
+# es el `grep -q` siguiente).
+grep -E "Tarjeta Semilla cargada|semilla inválida|JSON no contiene|Caused by" \
+  "$LOG" | head -5 || true
+
+if grep -q "Tarjeta Semilla cargada y validada" "$LOG"; then
   echo "[validate] OK: $SEED"
   exit 0
 fi
 echo "[validate] FALLÓ: $SEED" >&2
+echo "[validate] log completo:" >&2
+sed -n '1,40p' "$LOG" >&2
 exit 1