granja: la siembra de la flota fallaba justo en el caso que existe para arreglar
Con '.fleet' ausente —el hub recién clonado, o sea el único caso que importa— el 'cat' de un
fichero inexistente devuelve 1, y como el script corre con 'set -o pipefail' la tubería hereda
ese estado y el '&& mv' no dispara: el fichero se generaba correctamente y se quedaba sin
mover. Se añaden los '|| true' que faltaban.
⚠ Y por qué mi prueba no lo vio, que es lo que vale anotar: extraje el bloque real del script
para probarlo, pero le puse 'set -u' en vez del 'set -uo pipefail' que el script trae. Copié
el código y no el ENTORNO en que corre, y sin pipefail el caso pasaba. El extractor ahora lee
la línea 'set -' del propio script en vez de que yo la escriba de memoria.
Verificado con un ciclo REAL tras borrar .fleet a mano:
── cosecha-cron arranca
==> dev.gioser.net (154.197.1.13)
siembra ✓
manifiesto ✓ (worker: 764 · total: 4743)
.fleet quedó: dev.gioser.net 154.197.1.13
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014QPJteswQvP1L7zSBrQQe2
This commit is contained in:
@@ -71,7 +71,11 @@ FLEET="$ROOT/scripts/farm/.fleet"
|
||||
# falla. Se unen por NOMBRE (el fijo gana) para que lo efímero de hcloud conviva sin duplicarse.
|
||||
FLEET_FIJA="$ROOT/scripts/farm/flota-permanente"
|
||||
if [ -s "$FLEET_FIJA" ]; then
|
||||
{ grep -vE '^[[:space:]]*(#|$)' "$FLEET_FIJA"; cat "$FLEET" 2>/dev/null; } \
|
||||
# Los `|| true` NO son adorno: este script corre con `set -o pipefail`, y un `.fleet` ausente
|
||||
# —que es EXACTAMENTE el caso que esta siembra existe para arreglar— hace fallar al `cat`, la
|
||||
# tubería hereda ese estado y el `&& mv` no dispara. Resultado medido: el fichero se generaba
|
||||
# bien y se quedaba sin mover, o sea que la siembra fallaba justo en el único caso que importa.
|
||||
{ grep -vE '^[[:space:]]*(#|$)' "$FLEET_FIJA" || true; cat "$FLEET" 2>/dev/null || true; } \
|
||||
| awk 'NF && !visto[$1]++' > "$FLEET.seed" && mv "$FLEET.seed" "$FLEET"
|
||||
fi
|
||||
HAMMER="${HAMMER:-$ROOT/target/release/hammer}"
|
||||
|
||||
Reference in New Issue
Block a user