Skip to content

ci(release): exclude scoped docs/test/chore commits from the changelog - #1463

Open
hisco wants to merge 1 commit into
mainfrom
ci/changelog-scoped-excludes
Open

ci(release): exclude scoped docs/test/chore commits from the changelog#1463
hisco wants to merge 1 commit into
mainfrom
ci/changelog-scoped-excludes

Conversation

@hisco

@hisco hisco commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

The bug

.goreleaser.yaml's changelog excludes are literal prefixes:

- '^docs:'
- '^test:'
- '^chore:'

^docs: matches docs: x but not docs(mcp): x. Same for test and chore. Since most commits here are scoped, the filters catch almost nothing.

This is not theoretical — it has already shipped. v1.10.0's public release notes contain:

* 3fd44f3e51c48f741f9e5913a2bc83909395a4f8 test(crossplane-demo): cover v1 claim + v2 namespaced XR on Crossplane 2.x (#1404)

Effect on the next release

Two commits currently in the v1.11.0 range are filtered out by this change:

- deps: combine 9 soaked Dependabot bumps (#1460)
- docs(mcp): cross-link the Reachability doc from the diagnose tool (#1429)

Neither belongs in customer-facing notes.

Change

An optional (scope) group on each pattern, plus deps — a bare dependency roll-up had no pattern covering it at all.

Worth landing before v1.11.0 is tagged so the release notes come out clean, but it does not block the release.


Note

Low Risk
Release-note filtering only; no runtime, auth, or application behavior changes.

Overview
GoReleaser release changelog filters now treat conventional-commit scopes correctly so internal commits stop appearing in public GitHub release notes.

In .goreleaser.yaml, the changelog.filters.exclude patterns for docs, test, and chore were updated from literal prefixes like ^docs: to ^docs(\(.+\))?: (and the same for test and chore), so both docs: … and docs(scope): … are excluded. A new ^deps(\(.+\))?: rule was added for dependency roll-up commits. A short comment documents why the optional scope group is required.

Reviewed by Cursor Bugbot for commit e550bac. Bugbot is set up for automated code reviews on this repo. Configure here.

'^docs:' is a literal prefix, so it matches "docs: x" but never "docs(mcp): x".
The same applies to test and chore. Scoped commits have been shipping in public
release notes as a result — v1.10.0's notes carry
"test(crossplane-demo): cover v1 claim + v2 namespaced XR on Crossplane 2.x".

Add an optional (scope) group to each pattern, and exclude bare dependency
roll-ups, which had no pattern covering them at all.
@hisco
hisco requested a review from nadaverell as a code owner August 19, 2026 17:04
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.

2 participants