Skip to content

ci(goreleaser): categorize scoped conventional commits#15

Merged
retr0h merged 1 commit into
mainfrom
ci/goreleaser-scoped-commits
Apr 23, 2026
Merged

ci(goreleaser): categorize scoped conventional commits#15
retr0h merged 1 commit into
mainfrom
ci/goreleaser-scoped-commits

Conversation

@retr0h
Copy link
Copy Markdown
Owner

@retr0h retr0h commented Apr 23, 2026

Summary

Fixes the goreleaser changelog regexes so commits written in the scoped conventional-commits form (feat(scope):, fix(scope):, refactor(scope):, etc.) land in their intended buckets on the GitHub releases page instead of falling through to "Others".

What was broken

The existing regexes matched the bare type only: ^.*?feat:.*$. A subject like feat(ui): pink cursor doesn't match because the scope parens break the literal feat: string. Nearly every non-bare commit we ship hit "Others".

Also missing: a Refactor group — so every refactor commit landed in "Others" even without the scope problem.

What changed

  • Every group regex accepts (\(.+?\))? between the type and the colon — both feat: and feat(scope): match now.
  • New groups: Refactor, Performance, Style.
  • test(...) and chore(...) exclude filters updated to handle scopes too, consistent with the bare-form exclude they used to have.
  • Backward-compatible — all previously-matching commits still match.

Test plan

  • Next tagged release shows proper grouping on the GitHub releases page
  • Past releases can be retroactively regrouped via gh release edit if desired

🤖 Generated with Claude Code

The changelog regexes only matched the bare type (`feat:`, `fix:`,
etc.) so every scoped subject (`feat(ack):`, `fix(whois):`,
`refactor(notices):`, `docs(readme):`, ...) fell through to
"Others", making the grouping on the GitHub releases page nearly
useless.

Fix:
- `(\(.+?\))?` added to every group regex so both `feat:` AND
  `feat(scope):` land in the right bucket.
- Added `Refactor`, `Performance`, `Style` groups — refactors in
  particular were a big contributor to "Others" before.
- Scoped `test(...)` and `chore(...)` now match the exclude
  filters too, consistent with the bare forms.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

Thank you for contributing to this project! 😊🕹️

@retr0h retr0h merged commit bea3fed into main Apr 23, 2026
7 checks passed
@retr0h retr0h deleted the ci/goreleaser-scoped-commits branch April 23, 2026 05:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant