chore(CI): speed up playwright browser setup#3223
Merged
Conversation
Use the pre-installed Chrome on GitHub Actions runners instead of downloading Chromium, removing the `playwright install` step from CI.
Deploying rspress-v2 with
|
| Latest commit: |
0da7da3
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://44ecf618.rspress-v2.pages.dev |
| Branch Preview URL: | https://syt-vibe-kanban-40ac-https-g.rspress-v2.pages.dev |
Contributor
There was a problem hiding this comment.
Pull request overview
Updates the Playwright CI setup to reduce E2E runtime by using the system-installed Chrome on CI and removing explicit browser installation steps in GitHub Actions.
Changes:
- Add an
isCIflag inplaywright.config.tsand use it for retries and selecting thechromechannel on CI. - Remove
pnpm playwright install --with-deps chromiumfrom macOS/Windows CI workflows and run E2E directly.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| playwright.config.ts | Switch CI runs to use the system Chrome channel and refactor CI detection for retries. |
| .github/workflows/test-macOS.yml | Remove explicit Playwright Chromium installation before E2E tests. |
| .github/workflows/test-Windows.yml | Remove explicit Playwright Chromium installation before E2E tests. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Contributor
Rsdoctor Bundle Diff Analysis
Found 3 projects in monorepo, 0 projects with changes. 📊 Quick Summary
Generated by Rsdoctor GitHub Action |
Avoids the need for ffmpeg in CI, which was causing failures after removing the `playwright install` step.
Timeless0911
approved these changes
Mar 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Related Issue
Checklist
AI Summary
On GitHub Actions, Chrome is preinstalled on the runner. By setting
channel: 'chrome'in the Playwright config for CI, we can use the system Chrome directly instead of downloading a separate Chromium binary.Changes
playwright.config.ts: Addedchannel: isCI ? 'chrome' : undefinedso Playwright uses the pre-installed Chrome in CI while keeping default Chromium for local development..github/workflows/test-macOS.ymland.github/workflows/test-Windows.yml: Removed thepnpm playwright install --with-deps chromiumstep from the E2E test command, since the browser download is no longer needed.Why
The
playwright install --with-deps chromiumstep downloads ~150MB+ of browser binaries on every CI run. Since GitHub Actions runners already have Chrome installed, we can skip this entirely by telling Playwright to use the system Chrome via thechanneloption. This saves several minutes per CI run, especially on Windows.Reference: web-infra-dev/rsbuild#6877
This PR was written using Vibe Kanban