Skip to content

ci: classify pull requests for release notes - #158

Merged
gouyt13 merged 1 commit into
mainfrom
ci/pr-release-classification
Oct 23, 2026
Merged

gouyt13 merged 1 commit into
mainfrom
ci/pr-release-classification

Conversation

@gouyt13

@gouyt13 gouyt13 commented Oct 23, 2026 •

Copy link
Copy Markdown
Member

Summary

Release v0.7.1 put every PR under Other changes because the release configuration expected labels, but the PRs had none. Add a metadata-only workflow that maps conventional PR title prefixes to dedicated release:* labels and updates the category when the title changes, preserving ordinary manual labels.

Add Performance, Build and CI, and Maintenance release categories alongside the existing categories and manual labels. Document the title convention in the PR template and contributor/maintainer guides, and route workflow edits to the classifier regression checks.

The workflow uses pull_request_target without checking out or executing PR code. Unrecognized titles warn and retain the manual classification path. It does not backfill historical PRs or update published releases.

Testing

  • Automation unittest suite: 40 passed, including 9 classifier tests executing the actual workflow JavaScript with mocked GitHub APIs. Coverage includes title formats, edits, repeated events, label preservation, label-creation races, and API failures.
  • Project Python formatting/lint and Ruff checks for .github/scripts: passed.
  • Strict MkDocs build, workflow/release YAML structure checks, local Markdown link targets, and git diff --check: passed.
  • Separate independent review: PASS; all seven final files match the reviewed snapshot. Reviewer independently reran the 40 tests, Ruff checks, and diff check.
  • actionlint v1.7.9 (Snap) passed for .github/workflows/pr-labels.yml. JavaScript tests used Node 12.22.9; the action uses its bundled Node 24 runtime.

The classifier starts handling PR events after merging into the default branch. Live fork events, token API calls, and generated release output still need post-merge verification.

@gouyt13
gouyt13 merged commit dadda09 into main Oct 23, 2026
53 checks passed
@gouyt13
gouyt13 deleted the ci/pr-release-classification branch October 23, 2026 05:40
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