Repository navigation
ci(sync): pin only the cli and mcp browser closures in Cachix - #3
Merged
Merged
Conversation
The cache pinned 15 closures (5 tools x 3 systems), 10 distinct browser sets of about 0.45 GiB each, 4.06 GiB in total. The cache-arm job of the last sync failed with "Pin storage limit exceeded" (HTTP 402), and Cachix reports 80% storage use. CI now pins only cli and mcp, which normally share one browser set per system (about 1.3 GiB). node, dotnet and python still build without runtime downloads; their browsers come from cdn.playwright.dev at build time. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Kkw5FTWMTfd2shZr7sDG5V
There was a problem hiding this comment.
🟡 Changes recommended
The maintenance documentation incorrectly attributes storage growth to each tool rather than each distinct browser set.
1 open finding
What changed in this PR
Limits Cachix pinning to CLI and MCP browser closures to reduce storage usage.
Changes:
- Updates all sync jobs to pin only CLI and MCP closures.
- Documents the revised caching policy and build-time browser fetching.
| File | Description |
|---|---|
.github/workflows/sync.yml |
Restricts browser pinning to CLI and MCP. |
README.md |
Summarizes the cache scope. |
docs/maintenance.md |
Explains CI caching and storage usage. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Kkw5FTWMTfd2shZr7sDG5V
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.

Problem
In Sync run 38060368920,
cache-armfailed when pinningplaywright-dotnet-browsers-aarch64-linux:Cachix also reports 80% storage use. The cache pins 15 closures (5 tools × 3 systems). They resolve to 10 distinct browser sets of about 0.45 GiB each, 4.06 GiB of pinned cache paths in total:
cache-armrunEach new Playwright release adds about 0.45 GiB per system and per distinct set until the old pin revision is replaced.
Change
sync.yml: all threepush-browserscalls pin onlycli mcp. These two tools normally share one browser set per system, so the cache holds about 1.3 GiB, and about 2.7 GiB while a release replaces the old set.README.md,docs/maintenance.md: document which closures the cache holds and why.node,dotnetandpythonstill build without runtime downloads (rule 1 inAGENTS.md): their browsers come fromcdn.playwright.devthroughfetchzipat build time. The first build of these packages is slower for users.Manual step after merge
Remove the old pins in the Cachix dashboard, because CI no longer updates them and they keep their storage:
playwright-{node,dotnet,python}-browsers-{x86_64-linux,aarch64-linux,aarch64-darwin}(9 pins)Validation
FileSizefields of the narinfo files of each pinned closure onplaywright.cachix.org.prettier --checkpasses on the changed files.push-browsers.tsalready accepts a tool list. Only the arguments change.🤖 Generated with Claude Code
https://claude.ai/code/session_01Kkw5FTWMTfd2shZr7sDG5V
Generated by Claude Code