Skip to content

feat(ci): add declarative label taxonomy and sync workflow#197

Open
DimaBir wants to merge 3 commits intomainfrom
feat/label-taxonomy
Open

feat(ci): add declarative label taxonomy and sync workflow#197
DimaBir wants to merge 3 commits intomainfrom
feat/label-taxonomy

Conversation

@DimaBir
Copy link
Collaborator

@DimaBir DimaBir commented Mar 2, 2026

Summary

  • Adds .github/labels.yml defining a structured label taxonomy with 6 groups: type, priority, status, area, resolution, and community
  • Adds .github/workflows/sync-labels.yml to automatically sync labels on push to main (when labels.yml changes) or via manual dispatch
  • Uses micnncim/action-label-syncer with prune: false so existing labels are preserved until we're ready to clean up
  • Includes a migration job that renames legacy labels → new taxonomy (preserving issue/PR associations)

Label Taxonomy

Type — what kind of issue / PR

Label Description
Something isn't working
New feature or request
Improvements or additions to documentation
General question or support request
Security vulnerability or hardening
Dependency updates, refactoring, chores

Priority — how urgent

Label Description
Blocking issue, needs immediate fix
Important, should be addressed soon
Normal priority
Nice to have, address when convenient

Status — where in the workflow

Label Description
Needs initial triage and classification
Waiting for more information from author
Bug needs reproduction steps
Queued for team review and decision
Accepted, ready to be worked on
Blocked by external dependency or decision
No activity for an extended period

Area — what component

Label Description
GitHub Action definition, inputs, and outputs
MSDO CLI integration and execution
Container image mapping functionality
CI/CD pipeline and workflows

Resolution — how it was closed

Label Description
This issue or pull request already exists
This will not be worked on
Not a valid issue
Working as intended

Community & Special

Label Description
Good for newcomers
Extra attention is needed
Related to GitHub Agentic Workflows

Design Decisions

  • Prefixed naming (type:bug not just bug) — enables autocomplete grouping and clear filtering
  • Consistent colors per group — at-a-glance visual distinction
  • prune: false — old default labels stay until we explicitly remove them in a follow-up PR
  • Every label has a description — critical for triage bot automation and contributor clarity
  • Migration job runs first — renames legacy labels so existing issues/PRs keep their associations

Legacy → New Mapping

Old Label New Label
bug type:bug
enhancement type:feature
documentation type:docs
question type:question
duplicate resolution:duplicate
wontfix resolution:wontfix
invalid resolution:invalid
needs-info status:waiting-on-author
needs-maintainer status:team-review

Migration Plan

  1. Merge this PR → migration job renames old labels, sync job creates any new ones
  2. Update agentic workflow / triage bot to reference the new labels
  3. Follow-up PR: set prune: true to remove any leftover legacy labels

Test Plan

  • Verify workflow runs on workflow_dispatch and creates expected labels
  • Confirm existing labels on issues/PRs are preserved via rename (not delete+create)
  • Validate labels render correctly in issue/PR label picker

@DimaBir DimaBir requested a review from a team as a code owner March 2, 2026 18:09
@DimaBir DimaBir assigned DimaBir and unassigned DimaBir Mar 2, 2026
@DimaBir DimaBir requested a review from jbrotsos March 2, 2026 19:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant