E2E Tests (Playwright) workflow nunca ha completado — hang eterno en "Install Playwright browsers"
Descubierto durante: PR #108 (card 3e4a7d52, CI rot repo-wide) — capa 6 del rot.
Evidencia (2026-08-23)
gh run list --workflow "E2E Tests" — todos los runs históricos terminan cancelled, ninguno success ni failure:
| Run |
Branch |
Creado |
Final |
| 32619604701 |
main |
08-23 05:08 |
cancelled (~6h después) |
| 32619604671* |
feat/qa-visual-fase-c |
08-23 03:34/04:27/05:01 |
cancelled ×3 |
| … (5 más) |
main / fase-b / npm12 |
08-21→08-22 |
cancelled |
- El step
Install Playwright browsers (npx playwright install --with-deps chromium) queda in_progress indefinidamente (>70 min observado en run 32651523251; normal = 1-3 min).
- Runs "escapan" solo al ser cancelados por push manual o cancel manual → aparentan "nunca fallar".
- Afecta a TODAS las ramas, incluidas main y PRs (fix/rate-limit-fail-open 12:10 UTC 08-23 sigue colgado).
@playwright/test SÍ está en dashboard/frontend/package.json devDependencies → no es prompt de npx; el hang es en el download de browsers/deps.
Fix aplicado en este PR (5dace87)
timeout-minutes: 30 en el job → el hang se convierte en FAILURE honesto con logs completos diagnosticsables (hoy es un limbo indiagnosticsable).
concurrency: e2e-${{ github.ref }} + cancel-in-progress: true → los pushes nuevos auto-cancelan el run colgado anterior en vez de acumularlos (burn de minutes).
Diagnóstico pendiente (este issue)
La causa raíz del stall (CDN/network del runner, prompt oculto, o interactivo de apt) requiere los logs de un run FALLIDO post-timeout — que este mismo fix hace posible. Siguiente paso: inspeccionar gh run view --log-failed del primer run que exceda el timeout y actuar en consecuencia (p.ej. PLAYWRIGHT_DOWNLOAD_HOST, pin de versión, o cache de browsers).
Impacto
- Sin fix: cada push a cualquier PR mantiene un runner ocupado horas + el check "E2E Tests" queda perpetuo pending en los PRs (ruido en la señal de CI).
- Con el fix: fallo rápido y visible; check honesto aunque rojo hasta que el diagnóstico cierre la causa raíz.
E2E Tests (Playwright) workflow nunca ha completado — hang eterno en "Install Playwright browsers"
Descubierto durante: PR #108 (card 3e4a7d52, CI rot repo-wide) — capa 6 del rot.
Evidencia (2026-08-23)
gh run list --workflow "E2E Tests"— todos los runs históricos terminancancelled, ningunosuccessnifailure:Install Playwright browsers(npx playwright install --with-deps chromium) queda in_progress indefinidamente (>70 min observado en run 32651523251; normal = 1-3 min).@playwright/testSÍ está endashboard/frontend/package.jsondevDependencies → no es prompt de npx; el hang es en el download de browsers/deps.Fix aplicado en este PR (5dace87)
timeout-minutes: 30en el job → el hang se convierte en FAILURE honesto con logs completos diagnosticsables (hoy es un limbo indiagnosticsable).concurrency: e2e-${{ github.ref }}+cancel-in-progress: true→ los pushes nuevos auto-cancelan el run colgado anterior en vez de acumularlos (burn de minutes).Diagnóstico pendiente (este issue)
La causa raíz del stall (CDN/network del runner, prompt oculto, o interactivo de apt) requiere los logs de un run FALLIDO post-timeout — que este mismo fix hace posible. Siguiente paso: inspeccionar
gh run view --log-faileddel primer run que exceda el timeout y actuar en consecuencia (p.ej.PLAYWRIGHT_DOWNLOAD_HOST, pin de versión, o cache de browsers).Impacto