Skip to content

ci: run Playwright on the runner's preinstalled Chrome - #78

Merged
tconbeer merged 1 commit into
mainfrom
claude/ci-preinstalled-chrome
Oct 23, 2026
Merged

tconbeer merged 1 commit into
mainfrom
claude/ci-preinstalled-chrome

Conversation

@tconbeer

Copy link
Copy Markdown
Owner

npx playwright install --with-deps chromium downloads a ~150 MB browser and apt-installs its system libraries on every run. The apt part occasionally stalls for many minutes on GitHub's runners (run 39972539793: the same step took 22s in one job and hung in the other).

GitHub's ubuntu-latest image already ships Google Chrome with its libraries, so CI now runs the smoke suite on it:

  • playwright.config.js: PLAYWRIGHT_CHANNEL (e.g. chrome) selects an installed browser channel for the chromium project.
  • .github/workflows/ci.yaml: both jobs that run the suite ("Build and smoke test" and "Docker image smoke test") drop the install step and set PLAYWRIGHT_CHANNEL: chrome.

Local runs are unchanged: Playwright's bundled Chromium by default, or PLAYWRIGHT_CHROMIUM_EXECUTABLE.

Verification

  • Locally: 41/41 with the default path; with PLAYWRIGHT_CHANNEL=chrome on a machine without Chrome, Playwright fails with "Chromium distribution 'chrome' is not found", which shows the setting reaches the launcher.
  • This PR's own CI run is the real check: both jobs should pass with no install step.

Generated by Claude Code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017HETWqE94mR3h7bZLuac8q
@tconbeer
tconbeer merged commit 68f0c50 into main Oct 23, 2026
2 checks passed
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