Repository navigation
ci(iOS): build simulator test product once - #13600
Conversation
|
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 (8)
✨ 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 |
|
The implementation is already present on this draft (2 commits, producer/consumer code), so the PR description's "implementation will be added as the second commit" status is stale. Before marking ready, please add the real hosted full iPhone+iPad measurement requested in #13538:
The decision criterion is economic: compile-once only wins if duplicate compile removed exceeds product-transfer/setup cost while preserving the existing selector/retry/test-plan semantics. Keep this draft until that evidence is attached. |
|
One more integration requirement before this rebases onto current main: This PR adds a new
Since #13585 landed, every such step/input must be declared in
Otherwise the ownership drift test will correctly reject this branch even if the iOS producer/consumer implementation itself is sound. |
|
@coderabbitai review Please review the current draft implementation, especially product provenance/relocation, artifact extraction assumptions, device-family portability, focused test semantics, and fail-closed behavior. Measurement is still intentionally pending. |
|
|
|
All contributors have signed the CLA ✍️ ✅ |
|
@coderabbitai review Head is now rebased onto current main. Please review the current producer/consumer implementation and runner/product trust contracts; hosted iPhone+iPad economics remain the deliberate merge gate. |
|
|
|
The requested-family matrix fix is extracted into #13863 so an iPhone-only dispatch no longer allocates an iPad Mac just to skip its steps. Please retain that Linux-validated matrix selection and descriptive run name when rebasing this build-once draft. Product provenance/transfer and the hosted economics gate remain scoped here. |
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. |
This comment has been minimized.
This comment has been minimized.
|
Owning the download follow-up requested by the user: The 345 MB payload is already gzip-compressed; outer upload compression level 0 avoids a second compression pass. The two device jobs already transfer concurrently. The proposed addition parallelizes byte ranges within each transfer while retaining exact-run, provider digest, inner archive, and product identity verification. Current #13600 proof and branch remain unchanged. No new native dispatch or artifact download from this task. — FlintRail g1 🪄 |
069f1ce ci: streamline app-host test consumers (manaflow-ai#13427) cfe69ec Merge pull request manaflow-ai#13885 from teamleaderleo/docs/full-ci-explicit-scope 25a6378 docs: require explicit broad-suite intent for full-ci 0a6c362 Merge pull request manaflow-ai#13749 from manaflow-ai/ci/app-host-product-fast-transport 3094a95 ci: overlap local Rust helper builds with nightly Swift compilation (manaflow-ai#13874) ea4b13b CI: run Claude wrapper regressions without compiling the app (manaflow-ai#13869) 8f1491b test: bound SSH fish helper pipe draining (manaflow-ai#13408) 9667375 Merge pull request manaflow-ai#13826 from manaflow-ai/12284-claude-wrapper-subcommands 40b0cd7 ci: scope trusted web complexity before Bun setup (manaflow-ai#13598) 0f0d4a7 ci(iOS): build simulator test product once (manaflow-ai#13600) 0f28e77 Merge main settings runtime repair for native validation 819adce Merge branch 'main' of https://github.com/manaflow-ai/cmux into 12284-claude-wrapper-subcommands 7442bf7 Merge remote-tracking branch 'origin/main' into 12284-claude-wrapper-subcommands b6507c7 Merge remote-tracking branch 'origin/main' into 12284-claude-wrapper-subcommands eed9ca5 Merge main to use corrected test execution and CI routing 645e8af test: control the Claude catalog cache clock 3c0637d Merge remote-tracking branch 'origin/main' into 12284-claude-wrapper-subcommands 6229cdc fix: expire successful Claude command discovery catalogs 6f775da test: require bounded Claude command cache freshness 2132e30 fix: preserve cancellation during Claude command discovery 7ac2789 Merge remote-tracking branch 'origin/main' into 12284-claude-wrapper-subcommands 8cc6659 fix: discover and cache Claude subcommands before hook injection 59dd108 test: cover Claude command discovery and fallback a9da704 ci: fall back cleanly on artifact decoder errors bfb744f test: reproduce artifact decoder failures escaping fallback a02abe7 ci: bound the suite coverage diagnostic job 8237edc Merge main and preserve the derived review-fabric contract group a982dec test: check review-fabric routing through the router, not its source text (manaflow-ai#13788) 0d16b9b Merge branch 'main' into ci/app-host-product-fast-transport 74b94e3 CI: read the app-host test product over parallel range requests # Conflicts: # .github/workflows/ci-artifact-transport.yml # .github/workflows/ci-guards.yml # .github/workflows/ci-macos.yml # .github/workflows/ci.yml # .github/workflows/nightly.yml # .github/workflows/test-ios.yml # .github/workflows/web-complexity-trusted.yml
iPhone and iPad CI jobs currently compile the same simulator test product separately. This change builds it once, uploads the product, and runs both device families with test-without-building after verifying its source, toolchain, package identity and content digest.
Focused dispatches allocate only the requested device family. Package-only dispatches remain package-only. Selected-test execution checks, simulator retries, runner identity checks and aggregate failure reporting remain in place.
The producer explicitly selects the default cmux test plan or the requested cmux-ui plan. The product validator recognizes the standard simulator XCTest host for unhosted package tests, verifies that exact executable inside the selected Xcode installation on each machine, and keeps test bundles and UI apps confined to the verified product.
Validation:
Four inherited package-convention violations remain outside this PR; their failure is still reported. These runs are functional validation, not a comparative speed benchmark.
— CopperPlover g1 🪙
Run: run_cmux_ios_e2e_efficiency_20260923_03