Repository navigation
ci: keep WebKit's Ubuntu packages between runs - #78
Merged
Merged
Conversation
playwright install --with-deps webkit fetches 117 MB of Ubuntu packages, and on main after #76 that step ran past 11 minutes on a runner that reaches the mirror at a crawl (#73). WebKit needs the packages, so the job keeps apt's archive folder in the Actions cache: apt finds the files on disk and fetches only what Ubuntu has updated since. The key changes each week so the cache does not go stale. Closes #77 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…measurements `apt-get autoclean` after the install removes the versions Ubuntu has since replaced, so the weekly cache holds one copy of each package rather than every week's. AGENTS.md records what the first two runs of #78 measured: the mirror's lists at 12 MB/s and its packages at 40 kB/s, 115 MB in 47 minutes; the cache restored in 3 seconds and the install then took 26 seconds. Co-Authored-By: Claude Fable 5.1 <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.
Closes #77.
The WebKit browser suite keeps apt's archive folder,
/var/cache/apt/archives, in the Actions cache.playwright install --with-deps webkitthen finds the 117 MB of packages on disk and fetches only what Ubuntu has updated since. A cache restore comes from GitHub's storage, not fromazure.archive.ubuntu.com, which some runners reach at 40 kB/s (#73).The image's own apt failover does not cover this case: it fires when a mirror stalls for 15 s (actions/runner-images#14594), and a mirror that keeps trickling never trips it. That gap is actions/runner-images#14823, open; its reporter solved it the same way, with a cache of the archives. The package lists are not the problem: the same mirror served them at 12 MB/s in every run.
Changes
.github/workflows/ci.yml, WebKit's job only (if: matrix.deps):actions/cache@v6on/var/cache/apt/archives/*.deb, keyedapt-webkit-<week>, falling back to any earlier week.sudo apt-get autocleanafter the install, so the versions Ubuntu has replaced leave the cache rather than accumulating week after week.AGENTS.mdrecords the install arrangement for all three engines and the measurements below.Testing
Three runs of this PR's WebKit job, all on 2026-10-23, all tests passing:
playwright install --with-deps webkitautocleanunder 1 sFor comparison,
main's run at 09:29 the same morning, without the cache, spent 45 minutes in the install step; the eightmainruns before it took 28 to 60 seconds, since only some runners land on a slow mirror.One thing to expect after merging: a cache saved by a pull request's run is visible to that pull request alone, so
main's first run fillsmain's own cache, and may be slow once if it lands on a slow mirror. Every pull request after that readsmain's.🤖 Generated with Claude Code