googleapis / googleapis/release-please
`chore` commit triggers patch release despite being a non-bumping type.
- Dominant language
- TypeScript
- Stars
- 7.5k
- Forks
- 588
- Avg merge
- 12h 16m
- Merged PRs (30d)
- 7
Description
I am using `googleapis/release-please-action@v4` with a custom configuration to manage releases based on Conventional Commits.
**Goal:** Only `feat` (minor) and `fix` (patch) commits should result in a version bump. Commits like `chore`, `docs`, `refactor`, etc., should not trigger a release PR when they are the only changes since the last version. **They should**, however, be included in the `CHANGELOG.md` when a release is created by a `feat` or `fix`.
**Observed Behavior:** A recent `chore` commit to main triggered the creation of a release PR (proposing `v1.3.1`). This suggests that release-please is treating `chore` as a patch-level change.
- Repo: https://github.com/mandy8055/data-structures
- Triggering PR: https://github.com/mandy8055/data-structures/pull/49 (proposing `1.3.1` with a `chore` commit)
- Latest Commit on Main: [ac03cf928323a2dbc4cb1f5d7b3a733b2c7b835d](https://github.com/mandy8055/data-structures/commit/ac03cf928323a2dbc4cb1f5d7b3a733b2c7b835d)
**What I have tried/am considering:**
- My configuration includes the `chore` type (and other non-feature types like `perf`, `refactor`, etc.) in the `changelog-sections` array, grouped under "✅ Others". I did this to ensure they appear in the changelog.
- I suspect that the presence of `chore` in the `changelog-sections` array might be implicitly causing a patch bump.
- I also use the `extra-files` configuration to update the version in `deno.json`, which might be forcing a release even if the commit type is considered non-releasing.
### Configuration Files:
`release-please-config.json`
```json
{
"$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json",
"release-type": "simple",
"include-component-in-tag": false,
"changelog-sections": [
{ "type": "feat", "section": "✨ Features", "hidden": false },
{ "type": "fix", "section": "🐛 Bug Fixes", "hidden": false },
{ "type": "docs", "section": "📝 Documentation", "hidden": false },
{ "type": "perf", "section": "✅ Others", "hidden": false },
{ "type": "refactor", "section": "✅ Others", "hidden": false },
{ "type": "test", "section": "✅ Others", "hidden": false },
{ "type": "build", "section": "✅ Others", "hidden": false },
{ "type": "ci", "section": "✅ Others", "hidden": false },
{ "type": "chore", "section": "✅ Others", "hidden": false }
],
"extra-files": [
{
"type": "json",
"path": "deno.json",
"jsonpath": "$.version"
}
],
"packages": {
".": {}
}
}
```
#### Question for Maintainers:
What is the recommended configuration to prevent non-bumping commit types (`chore`, `docs`, etc.) from triggering a version bump and release PR, while ensuring they still populate the `CHANGELOG.md` when a release is made?
Contributor guide
Assessment
This issue has not been assessed yet.