Skip to content

Comments

fix(ci): extract Playwright install steps into composite action#846

Merged
rekmarks merged 3 commits intomainfrom
rekm/fix-playwright-test-ci
Feb 20, 2026
Merged

fix(ci): extract Playwright install steps into composite action#846
rekmarks merged 3 commits intomainfrom
rekm/fix-playwright-test-ci

Conversation

@rekmarks
Copy link
Member

@rekmarks rekmarks commented Feb 19, 2026

The test job was logging a Playwright "Executable doesn't exist" error (the same root cause fixed for the e2e job in #844): the prepare job caches node_modules while the postinstall script skips browser downloads in CI, so when downstream jobs restore from cache, Playwright browsers are never downloaded.

Changes

  • Add .github/actions/playwright-install composite action that caches ~/.cache/ms-playwright (keyed on OS + yarn.lock) and installs Playwright Chromium with --with-deps on cache miss, or just install-deps on cache hit; use it in both the test and e2e jobs
  • Simplify scripts/playwright-install.sh to check $CI (always true in GitHub Actions) instead of PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD, removing the need to set that env var in every job and the now-redundant Dependabot check (Dependabot runs in CI)
  • Always use --with-deps in playwright-install.sh, removing the dead PLAYWRIGHT_ONLY_SHELL and CI-branch logic

Testing

CI-only change. Verified by pushing and confirming both Test and E2E Tests jobs install Playwright browsers correctly. The two jobs share the same cache key, so only one download occurs per yarn.lock hash.

🤖 Generated with Claude Code

Add .github/actions/playwright-install composite action and use it in
both the test and e2e jobs, eliminating duplicated cache/install steps.
Also fixes the test job, which was seeing a missing-browser error due
to the same root cause fixed for the e2e job in fd122f6.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@rekmarks rekmarks requested a review from a team as a code owner February 19, 2026 23:09
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Contributor

github-actions bot commented Feb 19, 2026

Coverage Report

Status Category Percentage Covered / Total
🔵 Lines 78.22%
🟰 ±0%
6510 / 8322
🔵 Statements 78.18%
🟰 ±0%
6615 / 8461
🔵 Functions 76.01%
🟰 ±0%
1626 / 2139
🔵 Branches 78.16%
🟰 ±0%
2406 / 3078
File CoverageNo changed files found.
Generated in workflow #3779 for commit d6a63a2 by the Vitest Coverage Report Action

@rekmarks rekmarks enabled auto-merge February 19, 2026 23:17
The postinstall script now checks $CI (always true in GitHub Actions)
instead of PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD, removing the need to set
that env var in every job. Also removes the now-redundant Dependabot
check since Dependabot runs in CI.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@rekmarks rekmarks disabled auto-merge February 19, 2026 23:21
@rekmarks rekmarks enabled auto-merge February 19, 2026 23:27
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Copy link
Contributor

@FUDCo FUDCo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Onward!

@rekmarks rekmarks added this pull request to the merge queue Feb 20, 2026
Merged via the queue into main with commit 0779f45 Feb 20, 2026
33 checks passed
@rekmarks rekmarks deleted the rekm/fix-playwright-test-ci branch February 20, 2026 01:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants