Commit Graph
6 Commits
Author SHA1 Message Date
Irving LopezandClaude Opus 4.8 bed2344e0a 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>
2026-06-14 22:35:28 -05:00
ilopez 5efd243972 fix(ci): helm collision-proof en helm-deploy (pre-horneado + fallback mktemp único)
Propaga desde coralware/IDP@b31c741 (CI-SHARED-HOME-RACE). El step usa el helm
pre-horneado de la imagen del runner si está presente; el fallback descarga a un
dir único por-run (mktemp), nunca a $HOME/.local/bin ni /tmp/linux-$ARCH
compartidos que con executor=host se pisan entre jobs concurrentes.
2026-06-14 21:17:09 -05:00
Irving Lopez 929a4cefee fix(ci): guard concurrency + recuperación de release pending-install en helm-deploy (TENANT-BUILD-NO-CONCURRENCY-GUARD)
Sin guard `concurrency:` múltiples dispatches del repo del tenant corrían
helm upgrade en paralelo sobre el mismo release → 'another operation in
progress' → release trabado en pending-install → primer deploy nunca completa
(vivido E2E 2026-06-10, tenant 9e6babb0). Causa raíz del first-deploy flaky
(runs 3418/3419).

- concurrency workflow-level (group por repo, cancel-in-progress:false: encola,
  no cancela — cancelar a mitad de helm install es lo que CREA el pending-install)
- step de recuperación: detecta pending-install/uninstalling→uninstall,
  pending-upgrade/pending-rollback→rollback, antes del helm upgrade. Fail-safe:
  solo toca estados pending-*, no toca deployed/failed/inexistente.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

Además: añadido el wait de rancher-webhook (RANCHER-WEBHOOK-RACE-RECOVERY) que
faltaba en rest-api — paridad con el template web-backend.
2026-06-14 17:01:56 -05:00
ilopezandClaude Opus 4.8 e7e1801dcb feat(gateway-api): ADR-060 Fase 1.1 — chart a HTTPRoute (Traefik + Gateway API)
__APP_NAME__ — build & deploy / ¿Credenciales de build listas? (push) Successful in 0s
__APP_NAME__ — build & deploy / Calidad + build + push (push) Has been skipped
__APP_NAME__ — build & deploy / ¿Cluster del tenant listo? (push) Has been skipped
__APP_NAME__ — build & deploy / Helm upgrade --install (push) Has been skipped
Sincronizado desde repo IDP templates/ (CHART-SYNC-IDP-GITEA-DRIFT). Reemplaza el
Ingress (rke2-ingress-nginx, EOL marzo 2026) por HTTPRoute (Gateway API) adjunto al
Gateway tenant-gateway que crea stack-deployer (§3c). NetworkPolicy egress kube-system
-> traefik-system. FQDN DOT (ADR-082) preservado.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 21:58:58 -05:00
Irving LópezandClaude Opus 4.8 48e3de576e fix(ci): build-gate skip-graceful si HARBOR_ROBOT_* ausente (GOLDEN-PATH-BUILD-DEPLOY-ORDER-RACE)
E2E 2026-06-05 mostró que en template mínimo la calidad corre ~15s, así que el
build alcanza 'Build y push a Harbor' antes de que tenant-manager fase 1 siembre
(~20s) → run #1 rojo. build-gate (1er job) skipea el build si HARBOR_ROBOT_USER
ausente, simétrico al cluster-gate. El dispatch de fase 2 hace el run completo.
Sync desde coralware/IDP.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-05 13:42:38 -05:00
Irving LópezandClaude Opus 4.8 73f29ec3a4 fix(ci): helm-deploy tolerante a cluster no-listo (GOLDEN-PATH-BUILD-DEPLOY-ORDER-RACE)
Job cluster-gate -> helm-deploy con if needs.cluster-gate.outputs.ready=='true'.
Sin KUBECONFIG_TENANT_B64 (cluster aprovisionando) el deploy queda SKIPPED, no
rojo. tenant-manager (fase 2 deploy-ready) dispara workflow_dispatch al sembrar
el kubeconfig -> run #2 despliega. Sincronizado desde coralware/IDP commit a27e153.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-05 12:59:29 -05:00