ci: install Playwright's headless shell, not the whole of chromium - #471
Open
lens0021 wants to merge 1 commit into
Open
ci: install Playwright's headless shell, not the whole of chromium#471lens0021 wants to merge 1 commit into
lens0021 wants to merge 1 commit into
Conversation
`playwright install chromium` fetches Chrome for Testing (379 MiB unpacked) and the headless shell (262 MiB) and ffmpeg (5 MiB). These specs run headless and record no video, so the shell is the one Playwright starts and the browser beside it is downloaded to be ignored. Asking for it by name skips it. ffmpeg arrives either way. That is 33s of the smoke job, and roughly three fifths of the bytes in it. Checked rather than reasoned: installed the shell alone into a browser directory of its own, pointed PLAYWRIGHT_BROWSERS_PATH at it so nothing else could be found, and ran the suite against a real bake. 57 passed in 14.6s. --with-deps stays. What it installs is system libraries, which the shell needs as much as the full browser. The alternative was caching ~/.cache/ms-playwright, which the issue suggested. zizmor refuses it: actions/cache in a job that also runs docker/build-push-action is its cache-poisoning audit, high severity, and the comment two lines below this one already records the same objection to setup-node's caching. Fetching less needs no exception. Refs #461. --- _Generated by [Claude Code](https://claude.ai/code/session_935f02d1)_ Co-authored-by: Claude <noreply@anthropic.com>
This was referenced Aug 17, 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.
playwright install chromiumfetches three things: Chrome for Testing (379 MiB unpacked), the headless shell (262 MiB) and ffmpeg (5 MiB). These specs run headless and record no video, so the shell is the one Playwright starts and the browser beside it is downloaded to be ignored. Asking for the shell by name skips it. ffmpeg arrives either way, so what this saves is the 379 MiB, about three fifths of the bytes in a 33s step.Checked, not reasoned
Installed the shell alone into a browser directory of its own, pointed
PLAYWRIGHT_BROWSERS_PATHat it so Playwright could find nothing else, and ran the suite against a real bake:--with-depsstays. What it installs is system libraries, which the shell needs as much as the full browser.If the shell were ever not enough -- a spec asking for a headed browser, or for video -- Playwright fails naming the executable it cannot find, so this cannot quietly test the wrong thing.
Why not cache the browsers, as #461 suggested
zizmor refuses it.
actions/cachein a job that also runsdocker/build-push-actionis its cache-poisoning audit, high severity:Tried it first and read that, which is the same objection the comment two lines below this change already records about setup-node's caching. Fetching less needs no exception.
Refs #461.