Skip to content

fix(ci): resolve binary modules in detached test reruns - #15026

Merged
teamleaderleo merged 2 commits into
mainfrom
fix/rerun-binary-framework-modules
Sep 27, 2026
Merged

teamleaderleo merged 2 commits into
mainfrom
fix/rerun-binary-framework-modules

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Sep 27, 2026 •

Copy link
Copy Markdown
Collaborator

App-host artifact reruns failed to compile tests importing Sparkle and Iroh after Xcode removed their standalone build products. The archived runtime frameworks lack module headers. The detached test build now discovers compatible macOS slices in the binary XCFrameworks already resolved by SwiftPM and adds their directories to framework search paths, using the adopted product’s architecture.

The regression exercises the generated detached build configuration with two binary frameworks, runtime-only copies, spaces in paths, and incompatible iOS, Catalyst, and Intel-only slices. It fails before the repair and passes afterward. All 48 rerun-helper tests pass; all 12 applicable local static checks pass. Native rerun validation is pending. The original setup failure is run36330864494.

Changelog

none


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

Fixes detached app-host test reruns failing to compile when tests import binary frameworks like Sparkle and Iroh. Archived runtime copies lack module headers, so the build now resolves the matching macOS slice from the SwiftPM-resolved XCFrameworks and adds its directory to framework search paths.

  • Adds --xcframework-root and --arch arguments to the detach command; only slices matching the adopted product's architecture are used.
  • The regression test covers runtime-only copies, spaces in paths, and incompatible iOS, Catalyst, and Intel-only slices.

Written for commit 8817320. Summary will update on new commits.

Review in cubic

Summary by CodeRabbit

  • Bug Fixes
    • Improved app-host test reruns on macOS by selecting framework slices that match the product architecture and are compatible with macOS.
    • Excluded iOS and Mac Catalyst framework slices, as well as runtime-copied frameworks, from the framework search paths used during these test reruns.

@github-actions

Copy link
Copy Markdown
Contributor

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

@coderabbitai

coderabbitai Bot commented Sep 27, 2026

Copy link
Copy Markdown

Review in Change Stack →

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 configuration

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

Review profile: ASSERTIVE

Plan: Advanced

Run ID: e709ec1b-a2c4-4ed5-81a3-13fde083fd1d

📥 Commits

Reviewing files that changed from the base of the PR and between de22b47 and 8817320.

📒 Files selected for processing (3)
  • .github/workflows/app-host-test-rerun.yml
  • scripts/ci/app_host_test_rerun.py
  • tests/test_app_host_test_rerun.py
 ______________________________________________
< This is O(n) in theory and O(🤡) in practice. >
 ----------------------------------------------
  \
   \   (\__/)
       (•ㅅ•)
       /   づ
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

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.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Toolbox g1 🔔 checked the rerun-helper diff and its 48-test regression suite. All actionable CI checks are green; macOS admission is correctly skipped for this non-macOS change. CodeRabbit is still pending, so I’m leaving the branch intact until that review completes.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Toolbox g1 🔔 reviewed the detached rerun fix and its targeted regression: it selects only matching macOS XCFramework slices, rejects path escapes, wires the adopted architecture through CI, and leaves runtime-only copies out of search paths. All actionable checks are green; proceeding with the normal squash merge while CodeRabbit remains non-required/pending.

@teamleaderleo
teamleaderleo merged commit 810ffba into main Sep 27, 2026
65 of 68 checks passed
@teamleaderleo
teamleaderleo deleted the fix/rerun-binary-framework-modules branch September 27, 2026 16:13
@github-actions

Copy link
Copy Markdown
Contributor

Merge receipt for 8817320570: every check was green at merge (13 verified; 17 skipped by policy). Full suite runs on main after merge.

rustybret pushed a commit to rustybret/bmux that referenced this pull request Sep 27, 2026
8efe28d Add terminal.confirmUnsafePaste to confirm unsafe pastes in a window sheet (manaflow-ai#14951)
368ec9f fix(ci): restore app-host artifact rerun setup (manaflow-ai#15029)
e67ea0f perf: stop launching the cmux CLI for every queued Claude hook (manaflow-ai#14931)
badf9f6 test: give the tmux split mapping test its own portal authority (manaflow-ai#15028)
41a0c37 current-work: preserve remote machine kinds (manaflow-ai#14914)
c842f7d test(hermes): wait for the hook installer instead of racing a 1 s deadline (manaflow-ai#15027)
810ffba fix(ci): resolve binary modules in detached test reruns (manaflow-ai#15026)
d363290 test: await fork probe fixture start signals (manaflow-ai#15025)
8c98e64 Add cmux import for settings from other terminals (manaflow-ai#15004)
30aa6c1 Keep SSH workspace titles when cmux-tui creates the remote workspace (manaflow-ai#14976)
b33c467 Restore workspace group color and icon key handling from manaflow-ai#13877 (manaflow-ai#15000)

# Conflicts:
#	.github/workflows/app-host-test-rerun.yml
#	.github/workflows/ci-macos.yml
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