Repository navigation
fix(ci): avoid app-host rsync metadata failures - #18616
teamleaderleo wants to merge 1 commit into
Conversation
|
All contributors have signed the CLA ✍️ ✅ |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (7)
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 4 remain after this review. 📝 WalkthroughWalkthroughCI workflows and scripts now prevent package-framework copies from preserving source timestamps. App-host test enumeration also prepares and passes a runner environment when isolation is required. ChangesApp-host CI updates
Priority: ➖ Normal Estimated code review effort: 2 (Simple) | ~10 minutes Change: Bug fix Suggested reviewers: Merge Risk: ⚪ Minimal · up to Framework staging avoids restoring source timestamps, and app-host enumeration receives its prepared isolation identity. No merge-blocking regression is established. 🚥 Pre-merge checks | ✅ 24 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (24 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 4 files. (3 skipped: 3 unsupported.)
✨ Finishing Touches 💡 2📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
🛠️ Fix failing CI checks 💡
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 |
|
Passes: CI passes on CI passes on Written by |
|
Host receipt for the original cmux13s failure:
The PR workflow's first macOS admission attempt was canceled before runner assignment; Linux and guard checks passed. A full rerun is currently queued at the same exact head. |
|
|
Summary
App-host framework staging can fail on reused macOS runners when
rsynctries to restore source mtimes withutimensat, and enumeration can leave an app-host child without the receipt identity cleanup requires.This change makes framework staging metadata-neutral with
rsync --no-timesacross the app-host paths and forwards the isolated app-host receipt identity through enumeration's Xcode invocation.Changelog
Fixed app-host CI staging and cleanup on reused macOS runners.
Validation
python3 tests/test_ci_console_session_env_forwarding.pypython3 tests/test_ci_app_host_home_isolation.pybash tests/test_ci_app_host_xcodebuild_retry.shpython3 tests/test_ci_change_areas.py -k macos_compile_admission_precedes_expensive_shardsgit diff --checkThe source runner investigation found no root-owned files, immutable flags, or ACLs in the failed isolation/package paths. The failure was in mtime preservation plus missing enumeration receipt identity.
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.Summary by cubic
Fixes app-host CI staging and cleanup failures on reused macOS runners.
--no-timesto all app-hostrsynccalls so mtime restoration no longer fails with EPERM on framework files left by a previous runner account.TEST_RUNNER_environment during enumeration so cleanup can prove ownership of an orphaned app-host child.Written for commit 6390049. Summary will update on new commits.
Note
Low Risk
CI-only staging and test-enumeration env forwarding; no production app or auth paths.
Overview
App-host CI now stages
CmuxAgentJournalpackage frameworks withrsync --no-timeseverywhere those copies are made (workflows,restore-app-host-test-product.sh,run-app-host-xcodebuild.sh). That skips mtime restoration viautimensat, which was raising EPERM on reused macOS runners when framework files were readable but owned by another account.When
CMUX_CI_APP_HOST_ISOLATION_REQUIRED=1,enumerate-app-host-tests.shinjects the same isolated app-host receipt and home identity throughTEST_RUNNER_*env vars beforexcodebuild -enumerate-tests, so post-run cleanup can attribute stray app-host children the same way as full test batches.Workflow contract tests were updated to expect the new
rsyncflags.Reviewed by Cursor Bugbot for commit 6390049. Bugbot is set up for automated code reviews on this repo. Configure here.
Summary by CodeRabbit