Repository navigation
canary: probe what an incremental admission rebuild recompiles (do not merge) - #14235
Closed
teamleaderleo wants to merge 7 commits into
Closed
teamleaderleo wants to merge 7 commits into
teamleaderleo wants to merge 7 commits into
Conversation
…t merge) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks 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 |
1 similar comment
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks 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 |
Contributor
|
All contributors have signed the CLA ✍️ ✅ |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
teamleaderleo
added a commit
that referenced
this pull request
Sep 24, 2026
* test: seed adoption must restore unchanged directories' times A folder input such as Assets.xcassets is signed by its directories' times, and replay restores file times only. Fails on this commit: directories keep the checkout time. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * ci: replay directory times when adopting a DerivedData seed The seed replays each unchanged file's recorded time, but directories keep the checkout time. Xcode signs a folder input by every time inside it, so Assets.xcassets looks changed on every seeded admission: the asset catalog reruns, GeneratedAssetSymbols.swift regenerates, and all of cmuxTests recompiles. Canary #14235 on a 6vcpu runner: touching only the Assets.xcassets directory costs a 241 s rebuild, an app source edit 50 s. record now also keeps each directory's time beside a digest of its entry names, and replay restores it only where the names match. Seeds recorded before this carry no directory keys and behave as before. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * ci: count seed directories apart from inputs, and test a same-count rename Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Sep 24, 2026
…er-measurement Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Collaborator
Author
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.
Measurement canary. Do not merge; I'll close it once the admission job reports.
Why
In all 35 PR compile admissions since 11:00Z on 2026-09-24 that built tests,
cmuxTestsrecompiled all ~1,091 of its files. That includes the runs where the app targetcmuxrecompiled exactly one file,GeneratedAssetSymbols.swift, for example test-only PRs adopting a seed 1 to 3 commits back. On a 12vcpu runner that is about 2.5 min of a ~4.5 min compile, and more on 6vcpu. Main's own admissions (36006890597, 36002620252) show the same.Two questions the logs cannot answer:
GenerateAssetSymbolsrerun on a seeded build? The seed replays file mtimes (e2e_warm_derived_data.replay) but not directory mtimes, andAssets.xcassetsis a folder input.cmux_DEVmodule (even with an unchanged interface) force a fullcmuxTestsrebuild?What it does
After the normal admission compile, it rebuilds
cmux-unitfour times and records the recompiled files per target in the step summary:cmuxTestsfileAssets.xcassetsdirectory🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.Summary by cubic
Adds a CI canary to probe why
cmuxTestsrecompiles all ~1,091 files on incremental admission rebuilds even when the app target rebuilds a single file.cmux-unitfour times — null, mtime-only touch of a test file, ofAssets.xcassets, and of an app source file — and records recompiled file counts per target in the step summary.xcodebuild -resolvePackageDependencieswith a warm manifest cache, no cache, and after a fresh cache rebuild to investigate the ~45 s package graph resolution.set +eso a failed build or empty grep does not abort the remaining probes.CMUX_CI_BUILD_SCHEMESnow overrides the hardcoded scheme list incompile-app-host-test-product.sh.Written for commit d1565cd. Summary will update on new commits.