From e4882033cf9a5536721ed8bf672a8fed971e78f8 Mon Sep 17 00:00:00 2001 From: sergio Date: Mon, 18 May 2026 19:09:17 +0000 Subject: [PATCH] fix(arje): validate.sh robusto frente a timeout 124 + pipefail MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- seeds/validate.sh | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) 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