Skip to content

fix(labeler): give each C-* label a single automation owner - #61

Open
WomB0ComB0 wants to merge 2 commits into
mainfrom
chore/labeler-single-owner-followup
Open

fix(labeler): give each C-* label a single automation owner#61
WomB0ComB0 wants to merge 2 commits into
mainfrom
chore/labeler-single-owner-followup

Conversation

@WomB0ComB0

Copy link
Copy Markdown
Member

Summary

Fast-follow to #60. That PR squash-merged before this refinement could be pushed to its branch, so it lands here.

CodeRabbit flagged a two-owner conflict on the shared change-type labels: C-Documentation, C-Testing, and C-Chore were applied by both the path labeler (.github/labeler.yml) and the conventional-title labeler. Because the path labeler runs actions/labeler with sync-labels: true, a later synchronize event removes any label defined in labeler.yml whose globs no longer match the PR's files — clobbering a title-applied C-* label (actions/labeler does not distinguish who applied a configured label).

Fix — one automation owner per label family

  • .github/labeler.yml — drop the C-Documentation / C-Testing / C-Chore path rules. The path labeler now owns only area/scope labels (A-*, pkg:*), which it applies exclusively, so sync-labels: true can never strip a change-type label another workflow set. Change-type classification is driven by the conventional title, which is the authoritative signal for the release-note categories in .github/release.yml.
  • .github/workflows/conventional-title-labeler.yml — the title labeler is now the sole owner of the change-type C-* labels, so its convergence set covers all seven types (feat/fix/perf/docs/refactor/test/chore). On a retitle it removes the stale change-type label and adds the current one, with no path labeler racing it.

.github/labels.yml is unchanged and still defines every C-* label (used by the title labeler and by release.yml categories).

Test plan

  • .github/labeler.yml and .github/workflows/conventional-title-labeler.yml parse cleanly (js-yaml); no literal tabs.
  • Every label referenced by labeler.yml (now A-* / pkg:* only) and by release.yml is defined in labels.yml.
  • After merge: retitle a test PR feat: -> fix: and confirm only the current C-* remains, and that a docs:-titled PR keeps C-Documentation across synchronize events.

CodeRabbit follow-up: C-Documentation, C-Testing, and C-Chore were applied
by BOTH the path labeler (.github/labeler.yml) and the conventional-title
labeler. Because the path labeler runs actions/labeler with sync-labels:true,
a later `synchronize` event removes any label defined in labeler.yml whose
globs no longer match — clobbering a title-applied C-* label.

Resolve the two-owner conflict by scoping each family to one owner:

- .github/labeler.yml: drop the C-Documentation / C-Testing / C-Chore path
  rules. The path labeler now owns only area/scope labels (A-*, pkg:*), which
  it applies exclusively, so sync-labels:true can never strip a change-type
  label another workflow set.
- .github/workflows/conventional-title-labeler.yml: the title labeler is now
  the sole owner of the change-type C-* labels, so its convergence set covers
  all seven (feat/fix/perf/docs/refactor/test/chore) and it can remove the
  stale one on a retitle without racing the path labeler.

labels.yml still defines all C-* labels (used by the title labeler and
release.yml categories). YAML parses clean under js-yaml; no literal tabs.
@github-actions github-actions Bot added A-DevOps CI/CD, workflows, actions, and git hooks size/M Medium PR (30-99 lines changed) labels Aug 20, 2026
@coderabbitai

coderabbitai Bot commented Aug 20, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@WomB0ComB0, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 34 minutes

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

Wait for the limit to reset, then comment @coderabbitai review or push new commits to the PR.

An organization admin can change what happens after included review limits in Billing.

How do review limits work?

CodeRabbit enforces per-developer PR review limits within each organization.

For paid Pro and Pro+ reviews, CodeRabbit uses a developer's included PR review attempts over the past 7 days to set the current hourly allowance. At typical activity levels, the full plan allowance applies. Higher sustained activity can lower the allowance until earlier attempts leave the 7-day window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: ef1c2fa3-4fc3-4cb5-b0a8-ebf15e8a3f98

📥 Commits

Reviewing files that changed from the base of the PR and between 49ff761 and df23f72.

📒 Files selected for processing (2)
  • .github/labeler.yml
  • .github/workflows/conventional-title-labeler.yml

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added the C-Bug Something isn't working label Aug 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-DevOps CI/CD, workflows, actions, and git hooks C-Bug Something isn't working size/M Medium PR (30-99 lines changed)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant