Skip to content

Workflow to label PRs #767

Description

Add a fork-safe GitHub Actions workflow that classifies each PR when it is opened, updated, reopened, or marked ready for review. Neither stage should check out or execute pull request code.

Size
Apply exactly one deterministic size label based on changed lines and file count:

  • size:small: no more than 30 changed lines and 2 files.
  • size:medium: no more than 100 changed lines and 5 files.
  • size:large: no more than 300 changed lines and 10 files.
  • size:xlarge: anything larger.

Kind
Apply every substantive kind that describes the PR:

  • kind:code
  • kind:docs
  • kind:tests
  • kind:examples
  • kind:dependencies
  • kind:ci

Mixed PRs may have multiple kind labels, such as kind:code and kind:tests. If the semantic classifier cannot read the PR or classify it confidently, preserve existing kind labels and apply failed-auto-classify; remove that marker after a later successful classification.

Area
Apply zero or more deterministic area labels based on changed paths:

  • area:agent
  • area:workflow
  • area:message
  • area:tool
  • area:provider
  • area:provider/a2a
  • area:provider/agui
  • area:provider/anthropic
  • area:provider/copilot
  • area:provider/foundry
  • area:provider/gemini
  • area:provider/openai
  • area:provider/otel
  • area:internal
  • area:tooling
  • area:examples
  • area:github

Risk classification is tracked separately in #824.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions