You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
ci: stop warming unused Windows package archives - #29322
Windows cache warmers keep uploading large package archives that ordinary Windows PR checks deliberately avoid downloading. Stop those uploads while preserving the small compiled-module and launcher caches that real checks restore.
What Changed
Set the Windows warmer installer to cache-pnpm-store: false; native preparation, verification records, both launcher caches and probes remain enabled.
Include native/windows-security/** in platform warmers’ main-push triggers. Those sources already invalidate Windows native caches, but previously only selected Linux warming immediately.
Extend the existing cache-policy tests; no new test suite or cache mechanism.
Why
The 18:51 scheduled run uploaded 698,731,283 bytes (699 MB) of Windows pnpm archives and spent 33.324 seconds saving them (x64 12.255s; ARM 21.069s). Both native and launcher caches were hits. These exact package archive keys were hits six hours earlier, then missing again. Repository cache usage during the audit was 10.687 GB. This shows repeated writes and storage pressure, not which cache evicted another.
Real Windows ARM and x64 consumers use cache-pnpm-store: false, while restoring their native/launcher caches. Ordinary PR root installs and combined x64 installs also bypass archive restoration in the shared action. The manual x64 terminal-restart workflow still uses the root archive; it retains a cold install/save fallback. No ARM root-archive consumer was found.
The reported PR warmer run used 357s ARM + 71s x64. It validates edited Windows workflow commands and cannot seed shared default-branch caches. Keep that infrequent validation: it runs only for the two platform warmer YAML paths, which real Windows consumer workflows do not cover. This change does not claim to eliminate those 428s or establish whole-CI speedup. Removing all warming would also remove useful compiled caches; removing workflow validation would leave changed Windows commands unexercised.
Related audit decisions: retain #24881, #26399, #28081 and #28917, which reduce scheduled or irrelevant allocations. Correct the Windows caller of #24927, rather than revert its measured general download reduction. #29279 cancellation remains compatible.
Other checked CI changes have real benefits: #29136 removes a successful aggregate allocation (observed old job 138s queue + 4s running; new job zero runner/steps), with a hosted negative qualification still failing correctly. #29149 reduced the observed installer build from 831s to 299s, and the whole job from 1170s to 797s; its extra compiler-parity job costs 294s only on qualifying inputs. These compare different hosted runners and commits, not controlled repository-wide averages. Net return from all scheduled warmer jobs remains unproven; cache consumption alone does not prove the producer was necessary.
Linked Issue
Maintainer-requested CI cost audit; no separate issue created.
Visual Proof
N/A — GitHub Actions configuration only; no application UI changes.
Testing
I manually tested these changes locally
Automated tests added/updated, or explained why not below
On Linux, the two updated regression assertions failed against the original workflows for the intended Windows archive policy and missing security-trigger reasons. After the fix, 131 tests pass across ci-dependency-download-cache, ci-pnpm-store-mode, ci-native-cache and ci-pnpm-verification-cache.
Changed-code quality, focused Oxlint, Oxfmt, git diff --check, and actionlint 1.7.12 pass. No TypeScript implementation changes. Both changed Windows jobs passed on exact head ab326b454cb69bf7efcdf58b31c82b763db6c19b in run 38831888211. Their logs show cache-pnpm-store: false, the archive lookup/save skipped, and the native and launcher cache hits preserved. Full ready-for-review PR qualification is queued in run 38833157340; merge waits for that workflow and its aggregate gate.
Review
Reviewed archive consumers, cold fallback, native/launcher key parity, PR cache scope, event routing and aggregate independence. Required-check names and aggregate failure/conditional handling are unchanged. The package archive fix uses the existing opt-out instead of adding cache-presence or install logic.
Agent skill upstream boundary
Not applicable, or this change copies or mechanically translates no upstream skill-installer source, tests, fixtures, registry entries, path tables, comments, or documentation.
Notes
Hosted CI configuration only. No app, SSH execution, folder-workspace, mobile or remote-wire changes. The Windows store opt-out applies equally to x64 and ARM; other platforms retain their existing policy.
Checklist
This PR is small and focused
I explained what changed and why (ELI5, before/after, mechanism and alternatives)
Visual proof is N/A with reason
Self-reviewed for correctness, security and performance
Cross-platform, SSH/remote and path impact considered
Hosted validation passes on Windows x64 and ARM
Full ready-for-review PR checks and aggregate gate pass
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 5 remain after this review.
📝 Walkthrough
The Windows cache warmer now disables pnpm store caching and retains the Node native runtime. Pushes to main that change files under native/windows-security/** now trigger the cache-warmup workflow. Tests check both updates.
Priority: ⬇️ Low
Merge Risk:⚪ Minimal · up to ab326
The Windows warmer stops creating large pnpm archives while retaining its other preparation steps. A manually launched x64 workflow may download dependencies on a cache miss, but it can still complete and save the cache; no material issue blocks merging.
Pre-merge checks: 5
Check name
Status
Explanation
Docstring Coverage
No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 1…
Linked Issues check
Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check
Check skipped because no linked issues were found for this pull request.
Title check
The title clearly and concisely describes the main change: stopping unnecessary Windows package archive warming.
Description check
The description follows the required structure and explains the change, motivation, testing, scope, and checklist status. It identifies the linked issue as a maintainer-requested audit, which is allow…
✨ Finishing Touches
📝 Generate docstrings
Commit to this branch
Create a new PR
Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
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
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.
ELI5
Windows cache warmers keep uploading large package archives that ordinary Windows PR checks deliberately avoid downloading. Stop those uploads while preserving the small compiled-module and launcher caches that real checks restore.
What Changed
cache-pnpm-store: false; native preparation, verification records, both launcher caches and probes remain enabled.native/windows-security/**in platform warmers’ main-push triggers. Those sources already invalidate Windows native caches, but previously only selected Linux warming immediately.Why
The 18:51 scheduled run uploaded 698,731,283 bytes (699 MB) of Windows pnpm archives and spent 33.324 seconds saving them (x64 12.255s; ARM 21.069s). Both native and launcher caches were hits. These exact package archive keys were hits six hours earlier, then missing again. Repository cache usage during the audit was 10.687 GB. This shows repeated writes and storage pressure, not which cache evicted another.
Real Windows ARM and x64 consumers use
cache-pnpm-store: false, while restoring their native/launcher caches. Ordinary PR root installs and combined x64 installs also bypass archive restoration in the shared action. The manual x64 terminal-restart workflow still uses the root archive; it retains a cold install/save fallback. No ARM root-archive consumer was found.The reported PR warmer run used 357s ARM + 71s x64. It validates edited Windows workflow commands and cannot seed shared default-branch caches. Keep that infrequent validation: it runs only for the two platform warmer YAML paths, which real Windows consumer workflows do not cover. This change does not claim to eliminate those 428s or establish whole-CI speedup. Removing all warming would also remove useful compiled caches; removing workflow validation would leave changed Windows commands unexercised.
Related audit decisions: retain #24881, #26399, #28081 and #28917, which reduce scheduled or irrelevant allocations. Correct the Windows caller of #24927, rather than revert its measured general download reduction. #29279 cancellation remains compatible.
Other checked CI changes have real benefits: #29136 removes a successful aggregate allocation (observed old job 138s queue + 4s running; new job zero runner/steps), with a hosted negative qualification still failing correctly. #29149 reduced the observed installer build from 831s to 299s, and the whole job from 1170s to 797s; its extra compiler-parity job costs 294s only on qualifying inputs. These compare different hosted runners and commits, not controlled repository-wide averages. Net return from all scheduled warmer jobs remains unproven; cache consumption alone does not prove the producer was necessary.
Linked Issue
Maintainer-requested CI cost audit; no separate issue created.
Visual Proof
N/A — GitHub Actions configuration only; no application UI changes.
Testing
On Linux, the two updated regression assertions failed against the original workflows for the intended Windows archive policy and missing security-trigger reasons. After the fix, 131 tests pass across
ci-dependency-download-cache,ci-pnpm-store-mode,ci-native-cacheandci-pnpm-verification-cache.Changed-code quality, focused Oxlint, Oxfmt,
git diff --check, and actionlint 1.7.12 pass. No TypeScript implementation changes. Both changed Windows jobs passed on exact headab326b454cb69bf7efcdf58b31c82b763db6c19bin run 38831888211. Their logs showcache-pnpm-store: false, the archive lookup/save skipped, and the native and launcher cache hits preserved. Full ready-for-review PR qualification is queued in run 38833157340; merge waits for that workflow and its aggregate gate.Review
Reviewed archive consumers, cold fallback, native/launcher key parity, PR cache scope, event routing and aggregate independence. Required-check names and aggregate failure/conditional handling are unchanged. The package archive fix uses the existing opt-out instead of adding cache-presence or install logic.
Agent skill upstream boundary
Notes
Hosted CI configuration only. No app, SSH execution, folder-workspace, mobile or remote-wire changes. The Windows store opt-out applies equally to x64 and ARM; other platforms retain their existing policy.
Checklist