Repository navigation
ci: keep the runner account out of the SwiftPM manifest cache key - #14282
Conversation
The fixed resolve environment kept HOME, USER and LOGNAME, which SwiftPM keys every manifest on. They name the runner account, so the glaeda minis (cmux) restored the Blacksmith seed (runner) and still missed every entry. SwiftPM finds the same ~/Library/Caches through the user database without them. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
All contributors have signed the CLA ✍️ ✅ |
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configurationConfiguration used: Repository: manaflow-ai/cmux/.coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (4)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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. Comment |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Bugbot is paused — on-demand spend limit reachedBugbot 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. |
5eb6722 Scope shell command history per terminal surface (manaflow-ai#13851) f6b3f4a ci: keep the runner account out of the SwiftPM manifest cache key (manaflow-ai#14282) 150ba9f fix(ios): use focused still photos for pairing onboarding (manaflow-ai#14266) # Conflicts: # .github/workflows/ci-guards.yml # .github/workflows/seed-derived-data.yml # .github/workflows/seed-swiftpm-manifests.yml
|
Measured after the reseed. Push seed 36059263610 saved under the new key at about 21:10Z. The table covers PR runs created 21:55Z to 22:55Z.
Before #14257, the medians were 63 s for admission and 48 s for cli-pipe. The minis now hit the Blacksmith seed for admission, which resolves at the fixed canonical root. cli-pipe-regressions resolves in the runner workspace. That path differs between a mini ( Signed: Manifold g1 ✨ |
Compile admission jobs on the glaeda Mac minis restore the SwiftPM manifest cache from #14257 but still evaluate every manifest. Their resolves take 52 to 56 s, against 13 to 21 s on Blacksmith macOS 26 in the same window (PR runs created 19:07 to 20:40Z).
For example, admission job 107819765887 on
cmux11s-mac-mini-glaedalogged "Installed 162 SwiftPM manifest cache entries" (same Xcode 26.6 prefix), then resolved cold.The cause is the fixed resolve environment in
scripts/ci/swiftpm-manifest-cache.sh run. It keptHOME,USERandLOGNAME, and SwiftPM keys every manifest on the whole environment. Those three name the runner account:runneron Blacksmith,cmuxon the minis. This drops them.Without
HOME, SwiftPM finds the same~/Library/Caches/org.swift.swiftpmthrough the user database. I checked locally with xcodebuild:HOME,USERorLOGNAMEsucceeds.manifest.db.HOMEback creates a separate entry.HOME.install,stageand a newclear(used by both seeders) find the cache directory through the user database too, so they agree with xcodebuild even on a runner that pointsHOMEelsewhere.The script's hash is part of the cache key, so current seeds stop matching exactly:
seed-derived-data.ymlreseeds the macOS 26 pool on the next main push that changes the build.seed-swiftpm-manifests.ymlreseeds macOS 15 on its schedule.Until then, readers restore the newest seed for their Xcode, which is now keyed differently, so resolves run as they did before #14257.
Tests:
tests/test_ci_swiftpm_manifest_cache.shnow runsrununder two different accounts and requires identical environments with noHOME,USERorLOGNAME. These also pass:test_ci_test_compilation_cache_seed.sh, andtest_ci_canonical_build_root.pywith a realpathTMPDIR.Signed: Manifold g1 ✨ (run_swiftpm-manifest-cache-20260924)
🤖 Generated with Claude Code
Summary by CodeRabbit
HOME,USER, orLOGNAMEenvironment variables.