Repository navigation
fix(ci): map the recurring app scopes to their area labels - #4121
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 8 included reviews per hour; 6 remain after this review. 📝 WalkthroughWalkthroughThe PR labeler workflow adds mappings for database, Kubernetes, networking, and virtualization scopes. ChangesPR labeling
Estimated code review effort: 1 (Trivial) | ~2 minutes Merge Risk: ⚪ Minimal · up to Recurring app scopes will now receive their intended database, Kubernetes, networking, or virtualization area labels instead of falling back to uncategorized. The mapping-only change is ready to merge. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 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 |
ba264a2 to
cfa1b98
Compare
5ef10bb to
2b8d143
Compare
Scopes that PR titles use for apps under packages/apps were missing from the labeler's scopeToArea table. A PR whose title carries only such a scope falls through to the area/uncategorized fallback, and the area label has to be set by hand afterwards. Each scope added here clears the bar the table's own comment sets for a new entry, counted over the whole PR history in both title forms the labeler parses, and has an unambiguous home among the labels that already exist. A scope that clears the bar but has no such home is left out rather than pushed into the nearest label: AGENTS.md asks for a new area/* in that case, which is a separate decision. The homes come from the label descriptions. area/virtualization names cdi, and vm-disk renders a DataVolume while vm-instance renders a VirtualMachine. area/kubernetes is the tenant Kubernetes app, and kubernetes-nodes is the worker half split out of it. area/database is described as managed databases and already lists kafka, so rabbitmq, nats, qdrant and foundationdb sit there without stretching it. vpc renders Vpc and Subnet, and area/networking already names kube-ovn. Assisted-by: LLM Signed-off-by: Aleksei Sviridkin <[email protected]>
2b8d143 to
d949099
Compare
Andrei Kvapil (kvaps)
left a comment
There was a problem hiding this comment.
Verdict
LGTM.
Data-only: eight scope keys pointing at four labels that already exist. AGENTS.md's two-sided rule — a new area/* must land in both .github/labels.yml and the scope mapping — does not bite here, because no label is added. I checked both sides anyway: every area/* value referenced from scopeToArea exists in labels.yml, and the one label in labels.yml that the map never targets is area/uncategorized, which is correct since it is the fallback. Step 8 of the labeler is untouched, so the fallback still fires for anything unmapped; adding entries only makes it fire less often. No duplicate keys, which would have silently overridden.
The 3+ occurrence bar you set holds under an independent count over 3115 PR titles: vm-instance 12, rabbitmq 8, nats 7, vpc 7, foundationdb 5, qdrant 4, kubernetes-nodes 3, vm-disk 3. My regex is stricter than yours so the numbers are a little lower, but every scope clears on either count.
nats and rabbitmq mapping to area/database reads odd for message brokers until you look at the label's own description in labels.yml, which already lists kafka. So that is following the existing taxonomy rather than stretching it, and I would not change it.
Two things worth knowing rather than fixing. The label descriptions that enumerate example scopes now lag the map — they are illustrative rather than exhaustive, and #4122 is already collecting that drift. And nats and qdrant also exist under packages/system/, so a PR against the platform's own NATS picks up area/database; labelling is additive, so a maintainer can add area/platform on top, and I would rather have that than no label at all.
What this PR does
The auto-labeler maps a Conventional Commits scope to an
area/*label. Scopes that PR titles use for apps underpackages/appswere missing from that map, so a PR whose title carries only such a scope getsarea/uncategorizedand the area has to be set by hand afterwards.Each scope added here clears the bar the map's own comment sets for a new entry, three or more occurrences over the whole PR history in both title forms the labeler parses:
vm-instance14,nats10,rabbitmq8,vpc8,foundationdb5,qdrant4,kubernetes-nodes3,vm-disk3. Each also has an unambiguous home among the labels that already exist.area/virtualizationnamescdi, andvm-diskrenders aDataVolumewhilevm-instancerenders aVirtualMachine.area/kubernetesis the tenant Kubernetes app andkubernetes-nodesis the worker half split out of it.area/databaseis described as managed databases and already listskafka, sorabbitmq,nats,qdrantandfoundationdbsit there without stretching it.vpcrendersVpcandSubnet, andarea/networkingalready nameskube-ovn.Replayed the map before and after this change over the whole PR title history: 53 titles come out with a different label set. Each of them gains one
area/*and loses nothing. 48 stop falling back toarea/uncategorized; the other 5 already had an area from a second scope in the title and now carry both.A scope that clears the bar but has no unambiguous home is left out rather than pushed into the nearest label. AGENTS.md asks for a new
area/*in that case, which is a separate decision. Those, and the scopes still below the bar, are collected in #4122 along with the measurement and two bits of drift found on the way.opensearchis not that case: its home was never in question, it was below the bar when this PR opened and crossed it while the PR waited. It stays in #4122 rather than being folded in here.Screenshots
No UI change.
Downstream repositories
Walked the trigger map in
docs/agents/contributing.mdagainst the diff. The diff touches.github/workflows/pr-labeler.yamlonly. The nearest triggers are the ccp and community entries on the commit convention indocs/agents/contributing.md, and that file is not touched here: the scope table there is a summary that already lags the workflow, and the workflow is named as the full mapping.Release note