perf(ci): reuse iOS runner and narrow native cache key - #2952
Conversation
Size Report
Startup median (7 runs, lower is better):
|
There was a problem hiding this comment.
All reported issues were addressed across 4 files
Reply with feedback, questions, or to request a fix.
Fix all with cubic | Re-trigger cubic
|
Reviewed at 8e70f7c.
Not blocking: The exact-head |
|
Agreed. The prior head's live iOS smoke passed with runner PID 36616 across Settings and gesture, and gesture passed first attempt. The manual replay suite also passed on PID 15349; the later full fixture E2E failed after its separate daemon reset, so I am not claiming that tier green. The PR body now attributes each result to its tested head. |
|
This is ready for human review at 47c6008. The stale build-key issue from the earlier pass (8e70f7c, #2952 (comment)) is fixed. Not blocking: SKIP_ICON_PATCH's reordering leaves the icon patch step writing the build metadata before the icon patch touches the bundle, so a stale-manifest fallback to scan is possible there, but this can be taken or left. Smoke Tests in ios.yml and Coverage in ci.yml both cover this change, but both were still running when I checked, so there's nothing to report from them yet. Please check they go green; no further code changes are needed. |
|
|
Post-merge CI update:
The successful main run used a newer native-source key, so it does not prove that the PR run's restored binary passes every XCTest. The failed assertion concerns text-entry pacing; these logs do not establish a cache defect. I updated the watcher to check the next main run for a hit on its new key and to track that failure signature separately. |
Summary
Reuse the prepared XCTest runner across the Settings and gesture source-CLI replays, and in the manual iOS replay suite. Cache the native Xcode build before applying the current icon patch after every restore, so TypeScript-only changes do not force compilation or leave patched artifacts stale. Five files touched.
Validation
Head
47c60083bf13d2aa7d0eb124f6596daf26323678:pnpm format, focused Apple CI impact tests (8/8),pnpm check:gate-manifest,sh -n scripts/build-xcuitest-apple.sh, andpnpm check:affected --runpassed. Exact-head iOS CI is queued; the new cache restore/patch path still needs live proof.Prior head
8e70f7c: iOS smoke was green. Runner PID 36616 served Settings and gesture without a second xcodebuild; gesture passed first attempt in 12.7s, withopenat 6.5s versus 33.6s in the earlier cold attempt. Its full gesture step took 22s versus 44s in a recent main run, a one-pair observation.The manual dispatch passed preflight and all iOS replays with runner PID 15349. Its later full fixture E2E failed after the source/built daemon reset, in the historically parked lane; this does not validate that separate tier. Android passed.