Skip to content

ci(cli): restore the shared Swift package cache in the CLI lane - #13668

Merged
teamleaderleo merged 1 commit into
mainfrom
ci-cli-spm-cache
Sep 22, 2026
Merged

teamleaderleo merged 1 commit into
mainfrom
ci-cli-spm-cache

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Sep 22, 2026 •

Copy link
Copy Markdown
Collaborator

cli-pipe-regressions.yml feeds the required ci-status check. It used about 7.7k runner-min over the last 7 days, all on macOS. A typical passing run takes 231 s. Of that, 88 s goes to xcodebuild -resolvePackageDependencies, a cold clone of every package in the project, because the lane restores no cache.

Change:

  • Restore the nightly-seeded spm-<hash(Package.resolved)> entry through ./.github/actions/cache-restore into .spm-cache, then run the same sanitizer ci-macos uses. The R2 store currently holds an exact hit for main's Package.resolved (about 1 GB, .tar.zst).
  • Set CI_CACHE_R2_PUBLIC_URL on the job. ci.yml sets it at the workflow level, but workflow-level env does not reach a reusable workflow. Without it the R2 restore always misses.
  • If a resolve against the restored tree fails, delete the tree and resolve cold once.

This PR edits the workflow file, so its own CI runs the CLI lane. Compare that run's resolve time with the 88 s baseline. Expected saving is about 1 min per run, roughly 25% of this lane (~1.5–2k runner-min/week), minus the R2 download time.

Side finding, not changed here: ci-macos.yml has the same env gap. On today's macOS compile admission runs, every cache-restore logs r2-cache: CI_CACHE_R2_PUBLIC_URL is not set; treating as a miss, both the SPM restore and the test compilation cache restore.

🤖 Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.


Summary by cubic

Restores the shared Swift package cache in the CLI lane so xcodebuild -resolvePackageDependencies no longer cold-clones every package on each run.

  • The cold resolve took about 88 s of each run's ~230 s; the cache restore is expected to save about 1 min per run.
  • Sets CI_CACHE_R2_PUBLIC_URL on the job since workflow-level env does not reach reusable workflows and the R2 restore would otherwise miss.
  • If a resolve against the restored tree fails, the tree is deleted and the lane resolves cold once.
  • ci-macos.yml has the same env gap, so its SPM and test-compilation cache restores currently miss in R2; not changed here.

Written for commit 1f3dd19. Summary will update on new commits.

Review in cubic

The cold resolve took about 90 of each run's ~230 seconds. Restore the
nightly-seeded spm-<Package.resolved> cache from the configured store,
retrying cold if the restored tree fails to resolve.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@cursor

cursor Bot commented Sep 22, 2026

Copy link
Copy Markdown

Bugbot is paused — on-demand spend limit reached

Bugbot uses usage-based billing for this team and has hit its on-demand spend limit.

A team admin can raise the spend limit in the Cursor dashboard, or wait for the next billing cycle to continue.

@coderabbitai

coderabbitai Bot commented Sep 22, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 2 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used all 10 included reviews currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Repository: manaflow-ai/cmux/.coderabbit.yaml

Review profile: ASSERTIVE

Plan: Advanced

Run ID: 4ca00e5a-7aba-4921-9811-5838d56a0c16

📥 Commits

Reviewing files that changed from the base of the PR and between be71faf and 1f3dd19.

📒 Files selected for processing (1)
  • .github/workflows/cli-pipe-regressions.yml

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown
Contributor

All contributors have signed the CLA ✍️ ✅
Posted by the CLA Assistant Lite bot.

@teamleaderleo
teamleaderleo enabled auto-merge (squash) September 22, 2026 15:02
@teamleaderleo
teamleaderleo merged commit ed6d8db into main Sep 22, 2026
44 of 45 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant