feat(qa): cache Playwright browser downloads #1

Closed
claude-desktop wants to merge 1 commit from feat/playwright-cache into main
First-time contributor

Summary

  • Add actions/cache@v4 step in qa-bun.yml for ~/.cache/ms-playwright.
  • Saves ~170MB Chromium download (and apt deps install via --with-deps postinstall hooks) on every QA run for projects that use Vitest browser mode or Playwright e2e (e.g. claude-hooks/apps/web).
  • Cache key includes bun.lock hash, so a Playwright version bump invalidates and re-downloads automatically.

Impact

  • Backwards-compatible: cold cache = same behaviour as today.
  • Warm cache = playwright install --with-deps chromium no-ops on the browser binary; only system libs install runs.
  • After merge, tag v0.2.3 to publish bun image + workflow ref; downstream projects bump uses: …@v0.2.3 + image_tag: v0.2.3.

Test plan

  • PR CI green on forge-base itself (workflow self-tests via push to branch).
  • After tag, bump claude-hooks .forgejo/workflows/qa.yml to v0.2.3 and verify cache hit on second run (job log: Cache restored from key: playwright-…).
## Summary - Add `actions/cache@v4` step in `qa-bun.yml` for `~/.cache/ms-playwright`. - Saves ~170MB Chromium download (and apt deps install via `--with-deps` postinstall hooks) on every QA run for projects that use Vitest browser mode or Playwright e2e (e.g. claude-hooks/apps/web). - Cache key includes `bun.lock` hash, so a Playwright version bump invalidates and re-downloads automatically. ## Impact - Backwards-compatible: cold cache = same behaviour as today. - Warm cache = `playwright install --with-deps chromium` no-ops on the browser binary; only system libs install runs. - After merge, tag `v0.2.3` to publish bun image + workflow ref; downstream projects bump `uses: …@v0.2.3` + `image_tag: v0.2.3`. ## Test plan - [ ] PR CI green on forge-base itself (workflow self-tests via push to branch). - [ ] After tag, bump claude-hooks `.forgejo/workflows/qa.yml` to `v0.2.3` and verify cache hit on second run (job log: `Cache restored from key: playwright-…`).
feat(qa): cache Playwright browser downloads
All checks were successful
qa / qa (pull_request) Successful in 4m4s
qa / qa (push) Successful in 4m35s
85e185e6c6
Add actions/cache step for ~/.cache/ms-playwright so projects that
install Chromium during `just ci-setup` (Vitest browser mode, Playwright
e2e) skip the ~170MB download on cache hit. Keyed on bun.lock so a
Playwright version bump invalidates and re-downloads.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
charles closed this pull request 2026-05-11 20:29:59 +00:00
All checks were successful
qa / qa (pull_request) Successful in 4m4s
qa / qa (push) Successful in 4m35s

Pull request closed

Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
charles/forge-base!1
No description provided.