Repository navigation
ci: put the E2E test job's DerivedData under RUNNER_TEMP - #13943
Conversation
The split lane's test job failed its cleanup step on every run. Validation run 35829288840 ran the tests successfully in 12 seconds and then failed with "refusing to inspect app hosts outside runner temp": the app-host cleanup script confines itself to RUNNER_TEMP, and this job inherited the old single-job DerivedData path under the workspace. The test job compiles nothing, so its DerivedData is purely a destination for the restored product and has no reason to sit in the workspace. Putting it where ci-macos.yml puts its test shards satisfies the cleanup boundary instead of widening it. Its ownership check drops the compilation-cache branch it copied from the build job; CMUX_E2E_COMPILATION_CACHE is never set in a job that runs test-without-building. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
All contributors have signed the CLA ✍️ ✅ |
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: manaflow-ai/cmux/.coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 10 included reviews per hour; 8 remain after this review. 📝 WalkthroughWalkthroughThe E2E test job now stores DerivedData under a run-specific path in ChangesE2E DerivedData isolation
Priority: ⬇️ Low Estimated code review effort: 1 (Trivial) | ~4 minutes Change: Bug fix Merge Risk: ⚪ Minimal · up to The DerivedData relocation preserves E2E artifact use and cleanup ownership, with no concrete merge-blocking risk identified. 🚥 Pre-merge checks | ✅ 25✅ Passed checks (25 passed)
✨ Finishing Touches🧪 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 |
|
Independent review — approving. The fix matches the failure. The part worth checking is the second half of the diff, which deletes the compilation-cache guard and its
Removing a check that can only ever pass, in a job that has no cache to remove, is the right call over carrying it as decoration. Adding Validation in the description is the right shape: it names the run, the test that passed, and the specific step that went from failure to pass, rather than asserting the lane is green. — Rockall g1 🪙 |
Independent reviewReviewed by a separate agent against the files rather than the diff description. No blocking findings. The one question worth answering, since it decides whether this is safe: the Also checked: nothing embeds the build DerivedData path in the binaries ( The review's most useful finding was that the guard which should have caught this still didn't, so the PR now carries it. Second gap closed: Verification: Non-blocking, not taken here: the new path uses — Coppervane g1 🔆 |
eae58a7 test(simulator): bound the panel waits by a deadline, not a yield count (manaflow-ai#13907) 3df9a41 ci: let the pull-request macOS lane move pools without breaking Xcode selection (manaflow-ai#13923) a9bdaa8 Add edge fade to Files filter chips (manaflow-ai#13584) 270d970 fix(web): let the Vercel ignore step see the previous deployment (manaflow-ai#13947) 2ae26d1 ci: put the E2E test job's DerivedData under RUNNER_TEMP (manaflow-ai#13943) # Conflicts: # .github/workflows/ci-macos.yml # .github/workflows/ci.yml # .github/workflows/cli-pipe-regressions.yml # .github/workflows/nightly.yml # .github/workflows/persistent-macos-compile.yml # .github/workflows/test-e2e.yml
The split E2E lane's
testjob fails its cleanup step on every run, turning a passing test run into a red job.Validation run 35829288840 restored the compiled product and ran
cmuxTests/AboutLicensesResourceTestssuccessfully in 12 seconds, then failed atClean owned app-host home:cleanup-app-host-home.shrequiresCMUX_DERIVED_DATA_PATHto live underRUNNER_TEMPbefore it will inspect an app host. Thetestjob inherited$GITHUB_WORKSPACE/DerivedData/cmux-e2efrom the single-job lane, where nothing ever called that script.Before / after
Run selected testsClean owned app-host homeWhy move the path rather than widen the guard
The
testjob runstest-without-buildingand compiles nothing, so its DerivedData is only a destination for the restored product — the workspace location carried no requirement.ci-macos.ymlalready puts its test shards' DerivedData underRUNNER_TEMP, so this makes the two lanes agree instead of teaching the cleanup script a second shape. The guard exists because cleanup removes directories and signals processes; keeping its boundary narrow is worth more than the path it rejected.The ownership check in
Clean owned DerivedDataloses its compilation-cache branch, which was copied from thebuildjob.CMUX_E2E_COMPILATION_CACHEis never set in a job that does not compile.Tradeoff
DerivedData under
RUNNER_TEMPis discarded between jobs rather than persisting in the workspace. That costs nothing here — the product arrives by artifact download on every run, and the job deletes the directory on the way out either way.Verification
actionlintclean on the edited workflow; all 132linux-guardtests pass. The failing behavior is reproduced in the linked run's log rather than asserted.🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.Summary by cubic
Fixes the split E2E lane's
testjob failing its cleanup step on every run by moving DerivedData underRUNNER_TEMP.RUNNER_TEMP; the job now follows the same convention asci-macos.ymlinstead of teaching the script a second shape.test-without-building, so its DerivedData is only a destination for the restored product; the workspace location carried no requirement.CMUX_E2E_COMPILATION_CACHEbecause it does not compile.Written for commit b637305. Summary will update on new commits.
Summary by CodeRabbit