Symptom
The e2e job in ci.yml hangs on the "Install Playwright browsers" step and never completes — observed ~20+ minutes (vs. a normal full e2e run of ~2.5 min). Reproduced across a fresh runner re-run on the same PR, so it is not a one-off runner flake. ci (lint/test/build) passes in <1 min throughout.
Observed on PR #129 (run 26631536021): both the original run and the re-run sat on "Install Playwright browsers" indefinitely; the job had to be cancelled to unblock the merge.
Impact
Likely causes to investigate
- Playwright browser download hanging on GitHub runners (CDN/network), or a Playwright version bump that changed the install behavior.
- Missing/!cold browser cache between runs (no
~/.cache/ms-playwright caching step?).
- A step lacking a timeout, so a stalled download hangs the whole job instead of failing fast.
Suggested fixes
- Add a
timeout-minutes to the e2e job (and/or the install step) so a stalled install fails fast instead of hanging.
- Cache Playwright browsers (
actions/cache on ~/.cache/ms-playwright keyed by the Playwright version) to avoid re-downloading every run.
- Pin/verify the Playwright version; consider
npx playwright install --with-deps <only-needed-browser>.
- Confirm whether e2e should even run on infra/chart-only diffs (nx affected scoping).
Acceptance
- e2e completes (pass or fail) in a bounded time (e.g. <8 min) and cannot hang indefinitely.
- A stalled browser install fails the step with a clear error rather than hanging.
Symptom
The
e2ejob inci.ymlhangs on the "Install Playwright browsers" step and never completes — observed ~20+ minutes (vs. a normal full e2e run of ~2.5 min). Reproduced across a fresh runner re-run on the same PR, so it is not a one-off runner flake.ci(lint/test/build) passes in <1 min throughout.Observed on PR #129 (run 26631536021): both the original run and the re-run sat on "Install Playwright browsers" indefinitely; the job had to be cancelled to unblock the merge.
Impact
--adminon the passingcicheck (the change was infra-YAML-only, unrelated to e2e).Likely causes to investigate
~/.cache/ms-playwrightcaching step?).Suggested fixes
timeout-minutesto the e2e job (and/or the install step) so a stalled install fails fast instead of hanging.actions/cacheon~/.cache/ms-playwrightkeyed by the Playwright version) to avoid re-downloading every run.npx playwright install --with-deps <only-needed-browser>.Acceptance