diff --git a/scripts/farm/cosecha-cron.sh b/scripts/farm/cosecha-cron.sh index 5c63489b..04cb61cb 100755 --- a/scripts/farm/cosecha-cron.sh +++ b/scripts/farm/cosecha-cron.sh @@ -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}"