Repository navigation
ci: move the 20 legacy tests with a Linux execution path onto linux-guard - #13726
Merged
Merged
Conversation
…uard
The `legacy` lane is documented as migration inventory: "existing files may
remain legacy while we model their current execution path". Twenty of the 81
entries already have that path modelled -- a workflow runs them, on a job whose
runs-on resolves to Linux -- so they can stop being inventory.
Resolved per entry by walking every workflow's jobs, matching the test path
inside the job body, and reading that job's runs-on:
ci-artifact-transport.yml :: transport
test_app_host_layer_transport, test_app_host_layered_products,
test_ci_r2_artifact, test_ci_r2_canary, test_node_product_cache
ci-guards.yml :: workflow-guard-tests
test_check_ghostty_zig_workflows, test_ci_release_helper_archs,
test_triage_radar, test_tui_focused_filter_guard
remote-daemon.yml :: remote-daemon-tests
test_remote_daemon_release_assets,
test_remote_daemon_release_verification
cmux-skill-contract.yml :: browser-skill
test_cmux_browser_skill, test_cmux_settings_supported_paths
ci-artifact-canary.yml :: canary test_ci_r2_canary
ci-cache-receipts.yml :: receipt-contract test_ci_cache_restore_receipt
ci.yml :: static-preflight test_normalize_pbxproj
cmux-tui-sdks.yml :: contract test_tui_publish_workflow_security
indexnow-tests.yml :: notification-tests test_indexnow_notification
repair-nightly-appcast-content-types.yml :: test
test_repair_nightly_appcast_content_types
terminal-hang-diagnostics.yml :: release-gate test_terminal_hang_release_gate
web-validation.yml :: changes test_web_validation
Eleven other legacy entries are also run by a workflow and deliberately stay
legacy: every one of them executes on a macOS job (MACOS_RUNNER_PR,
MACOS_RUNNER_15, MACOS_RUNNER_26), and the macOS lanes in this manifest are
run_python_test_lane.py lanes that do not run these. Calling them linux-guard
would make the manifest assert something false. No entry resolved to a mix of
Linux and macOS jobs, so the split needed no tie-breaking.
The remaining 50 legacy entries resolve to no job at all, which is what the
lane is for.
legacy 81 -> 61, linux-guard 76 -> 96. Every changed line is a lane value;
nothing is added, removed or reordered.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
Warning Review limit reachedNext included review available in 26 minutes. View limit detailsLimit details: You’ve used all 10 included reviews currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Repository: manaflow-ai/cmux/.coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (1)
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 |
Contributor
|
All contributors have signed the CLA ✍️ ✅ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
tests/test-execution.tomldocuments its ownlegacylane as a holding pen:Twenty of the 81
legacyentries already have that path modelled. A workflow runs them, on a job whoseruns-onresolves to Linux. They can stop being inventory.How each one was resolved
Not by name-matching. For every workflow in
.github/workflows/, each job was parsed, the test path matched inside the job body, and that job'sruns-onread:ci-artifact-transport.yml :: transporttest_app_host_layer_transport,test_app_host_layered_products,test_ci_r2_artifact,test_ci_r2_canary,test_node_product_cacheci-guards.yml :: workflow-guard-teststest_check_ghostty_zig_workflows,test_ci_release_helper_archs,test_triage_radar,test_tui_focused_filter_guardremote-daemon.yml :: remote-daemon-teststest_remote_daemon_release_assets,test_remote_daemon_release_verificationcmux-skill-contract.yml :: browser-skilltest_cmux_browser_skill,test_cmux_settings_supported_pathsci-artifact-canary.yml :: canarytest_ci_r2_canaryci-cache-receipts.yml :: receipt-contracttest_ci_cache_restore_receiptci.yml :: static-preflighttest_normalize_pbxprojcmux-tui-sdks.yml :: contracttest_tui_publish_workflow_securityindexnow-tests.yml :: notification-teststest_indexnow_notificationrepair-nightly-appcast-content-types.yml :: testtest_repair_nightly_appcast_content_typesterminal-hang-diagnostics.yml :: release-gatetest_terminal_hang_release_gateweb-validation.yml :: changestest_web_validationFour of these are guards that #13696 wired earlier today —
test_check_ghostty_zig_workflows,test_ci_release_helper_archs,test_triage_radar,test_tui_focused_filter_guard. Their entries saidlegacybecause at the time it was true; it no longer is.What deliberately stays legacy
Eleven other legacy entries are also run by a workflow, and all eleven stay. Every one executes on a macOS job —
MACOS_RUNNER_PR,MACOS_RUNNER_15,MACOS_RUNNER_26— and the macOS lanes in this manifest (macos-shell,macos-cli-no-socket, …) arerun_python_test_lane.pylanes that do not run these tests. Marking themlinux-guardwould make the manifest assert something false about where they execute, which is worse than leaving them in the pen:Giving them an honest lane means adding a macOS lane that matches how they are actually invoked — a real change to
run_python_test_lane.py's model, not a lane rename, and not this pull request.No entry resolved to a mix of Linux and macOS jobs, so the split needed no tie-breaking. The remaining 50
legacyentries resolve to no job at all, which is exactly what the lane is for.Validation
legacy81 → 61,linux-guard76 → 96. Every changed line is alane =value — 20 insertions, 20 deletions, nothing added, removed or reordered — andtomllibparses all 218 entries.Stacking
Based directly on
main. An earlier attempt (#13714) was stacked on #13710's branch; squash-merging that base orphaned the stack, and GitHub marked #13714 merged while none of its 20 lane changes reachedmain— verified by re-running the validator onmainafterwards and findinglegacy=81withtest_triage_radarstilllegacy. This is the same commit, cherry-picked ontomain.🤖 Generated with Claude Code
Summary by cubic
Moves 20 tests from the
legacylane tolinux-guardintests/test-execution.toml, because these tests already run on Linux jobs in existing workflows. Thelegacylane is meant only for tests whose execution path hasn't been modeled yet, and these have been.Eleven other tests that also run in workflows stay
legacybecause they run on macOS jobs that don't have a corresponding lane in this manifest; moving them would misrepresent where they execute.Written for commit 4a1de47. Summary will update on new commits.