fix(ci): recovery step rompe first-deploy frío — helm status exit≠0 bajo bash -e -o pipefail aborta antes del case

El step 'Recuperar release Helm atascado' (TENANT-BUILD-NO-CONCURRENCY-GUARD,
6bb3a35) muere en la asignación STATUS=$(helm status ...) cuando el release no
existe (first-deploy frío): helm sale exit≠0, pipefail lo propaga y set -e aborta
el step ANTES del case → deploy job rojo → app nunca instala → welcome 404.
Fix: || true neutraliza el exit → STATUS="" → branch no-op → helm upgrade procede.
Regresión introducida por el propio fix de CI-SHARED-HOME-RACE; detectada en el
re-smoke E2E 2026-06-17.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Irving Lopez
2026-06-14 22:35:27 -05:00
parent 1f8f8c5d21
commit 30c2239dcd

View File

@@ -269,7 +269,10 @@ jobs:
# STATUS (formato inesperado) cae al branch no-op → comportamiento idéntico # STATUS (formato inesperado) cae al branch no-op → comportamiento idéntico
# al actual, nunca peor. # al actual, nunca peor.
run: | run: |
STATUS="$(helm status __APP_NAME__ -n apps 2>/dev/null | sed -n 's/^STATUS: //p')" # `helm status` de un release inexistente (first-deploy frío) sale con
# exit≠0; bajo el shell del runner (`bash -e -o pipefail`) eso abortaría
# el step ANTES del case. `|| true` lo neutraliza → STATUS="" → branch no-op.
STATUS="$(helm status __APP_NAME__ -n apps 2>/dev/null | sed -n 's/^STATUS: //p')" || true
echo "Estado actual del release __APP_NAME__: ${STATUS:-<no existe>}" echo "Estado actual del release __APP_NAME__: ${STATUS:-<no existe>}"
case "$STATUS" in case "$STATUS" in
pending-install|uninstalling) pending-install|uninstalling)