ci(e2e): cache Playwright browser binaries across CI runs#218
Merged
Conversation
Cache ~/.cache/ms-playwright using actions/cache keyed on the Playwright version and runner OS. On cache hit, browser binary downloads (~1GB) are skipped entirely — only system dependencies (apt packages) are installed since they don't persist on ephemeral runners. Both e2e-smoke and sharded e2e jobs share the same cache key so whichever runs first warms the cache for the others. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
acdc6eb to
32dba92
Compare
PRs targeting main are epic promotions (beta → main) which get proper releases via semantic-release in release.yml on merge. Publishing a pr-<number> image for these is redundant and confusing. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…tem deps Cache /var/cache/apt/archives so Playwright's install-deps reuses locally stored .deb files instead of re-downloading ~60 packages on every E2E job. Also enable dpkg force-unsafe-io to skip fsync on ephemeral CI runners. Applies to both e2e-smoke and sharded e2e jobs. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
`npx playwright --version` outputs "Version 1.58.2" (with a space), which would produce invalid cache keys. Pipe through `tr -d '[:space:]'` to produce a clean key like "Version1.58.2". Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Contributor
|
🎉 This PR is included in version 1.9.0-beta.58 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
4 tasks
steilerDev
pushed a commit
that referenced
this pull request
Feb 23, 2026
Two fixes for the apt caching added in #218: 1. Set `Keep-Downloaded-Packages "true"` so apt retains .deb files after install (Ubuntu runners clean them by default) 2. Use explicit cache/restore + cache/save instead of actions/cache so archives are captured immediately after install, not in a post-job step where they may already be cleaned Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
4 tasks
steilerDev
added a commit
that referenced
this pull request
Feb 23, 2026
Two fixes for the apt caching added in #218: 1. Set `Keep-Downloaded-Packages "true"` so apt retains .deb files after install (Ubuntu runners clean them by default) 2. Use explicit cache/restore + cache/save instead of actions/cache so archives are captured immediately after install, not in a post-job step where they may already be cleaned Co-authored-by: Claude product-architect (Opus 4.6) <noreply@anthropic.com>
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
~/.cache/ms-playwrightbrowser binaries usingactions/cache@v4in bothe2e-smokeande2e(sharded) jobsplaywright-<version>-<os>— shared across all E2E jobs so whichever runs first warms the cacheinstall-deps) always run since apt packages don't persist on ephemeral runnersExpected improvement
Test plan
install-depsruns (check logs for "Cache restored")🤖 Generated with Claude Code