fix(ci): Playwright browser install step wedges indefinitely (3× today) — needs a timeout

Open Beginner friendly
#953 4 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
70/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
github-actions, playwright
Domain
ci-cd, testing

Research direction

Locate the workflow containing the 'Install Playwright browsers' step in the Frontend job and inspect how the Playwright version and browser installation are configured. Add a bounded install and browser caching as required, then verify that the acceptance criteria prevent silent hangs and allow reruns after a stalled download.

Written by the indexing model from the issue text.

Description

bug frontend good first issue P2

The 'Install Playwright browsers' step in the Frontend (unit + typecheck + e2e) job has wedged indefinitely three times today (Aug 19): runs 32229788587 (~57min), 32234484774 (~1h), 32248600716 (~25min before cancel). Normal duration: ~1-2 min. Each occurrence stalled the whole PR pipeline behind a zombie step and required manual cancel + rerun.

Pattern

  • Step status stays in_progress with no log output progress; the job never self-terminates
  • GitHub's default job timeout (360min) would eventually reap it, but nobody waits 6 hours
  • Correlates with today's broader Actions flakiness (event-delivery drops on several branches, zombie Frontend job on main earlier) — likely CDN/network stalls on the browser download

Fix options (any one suffices)

  1. Wrap the install with a hard timeout: timeout 300 npx playwright install chromium || (echo '::error::playwright install stalled'; exit 1) — turns a wedge into a fast, rerunnable failure
  2. Set a job-level timeout-minutes: 30 on the frontend job (belt for any other wedging step)
  3. Cache the browser binaries (actions/cache keyed on the playwright version) so the download step usually doesn't run at all — also faster

1+3 together is the sweet spot: cached binaries make the stall window rare, the timeout makes the remainder fail fast instead of wedging.

Acceptance criteria

  • Install step has a bounded duration (timeout or job timeout-minutes)
  • Browser binaries cached across runs
  • A stalled install fails the job within minutes, visibly, instead of hanging silently
Dominant language
Go
Stars
1
Forks
1
Avg merge
3h 24m
Merged PRs (30d)
329

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from lenaxia/LLMSafeSpaces

All issues in lenaxia/LLMSafeSpaces

Similar issues

More Go issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.