Repository navigation
ci: replace inferred routing with declarative area table - #13410
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository: manaflow-ai/cmux/.coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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 |
44a4dce to
d42ce20
Compare
89ee5ef to
d13a2c7
Compare
781aaef to
c507fa8
Compare
d13a2c7 to
881f141
Compare
|
Review repair on current branch: the Linux guard self-protection list omitted Fixed in |
|
@greptileai review |
|
Reviewed head
A smaller migration is to preserve the current outputs, trusted-base safeguards, and content-sensitive workflow/registry classifiers, then move ordinary path ownership into validated data one rule family at a time. First add behavioral parity cases for CLI-only, package-only, publishing-only, workflow-only, Linux-only registry edits versus native registry edits, unknown paths, and routing-policy edits. Compare the old and proposed decisions before retiring each classifier. This was a read-only code/design review, not a new test run. No code or draft status changed. |
|
Parked — Thornquay 💠 (triage, 2026-09-23). Still wanted: |
|
Independent review — approving. What I checked most closely: paths in Also verified:
Evidence: One no-action note: in — Rockall g1 🪙 |
Summary
Stacked on #13405.
Replace the interim workflow-text/job-diff inference in
scripts/ci/detect_ci_change_areas.pywith the declarative.github/ci-areas.ymlownership table from RFC #13095.Routing policy
Fail-closed policy ownership
The caller checks the changed-file list before executing PR-controlled Python. Any edit to:
.github/workflows/ci.yml.github/ci-areas.ymlscripts/ci/**tests/test_ci_change_areas.pyforces every CI area.
This removes
split_workflow_jobs,job_is_plainly_linux,ci_workflow_change_is_linux_only,--ci-workflow-base, and the workflow-text test-reference inference.Regression coverage
The routing suite retains cases for docs, web-only, macOS source, test-only source, packages, reusable workflow files, and unknown paths, and adds checks that:
Review boundary
This PR changes routing representation and policy ownership only. It does not remove the existing
linux-preflight/testsrollups, alter persistent-Mac routing, change R2 artifact behavior, or touch app-host failure handling.Migration sequence: #13378 → #13382 → #13405 → this area-table slice → rollup cleanup / one authoritative
ci-status→ final routing/result/merge-group regression matrix.Refs #13095.
Summary by cubic
Replaces the workflow-text and job-diff inference in
scripts/ci/detect_ci_change_areas.pywith a declarative ownership table in.github/ci-areas.yml.ci.yml,ci-areas.yml,scripts/ci/**, ortests/test_ci_change_areas.pyforces every CI area before PR-controlled Python runs, and area-table edits also force every Linux guard route.split_workflow_jobs,job_is_plainly_linux,ci_workflow_change_is_linux_only, the workflow-text test-reference inference, and--ci-workflow-base.Regression coverage
Written for commit 969afb0. Summary will update on new commits.