From 031f8af4e440512a1666828d34f711f333f7a4cf Mon Sep 17 00:00:00 2001 From: AlexMorbo Date: Wed, 21 Oct 2026 01:59:17 +0300 Subject: [PATCH 1/2] build: keep 0.x releases on patch bumps and list dependency updates separately --- .github/renovate.json5 | 15 +++++++++++ release-please-config.json | 53 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+) diff --git a/.github/renovate.json5 b/.github/renovate.json5 index c352cce..1a6cd22 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -6,6 +6,12 @@ extends: ["config:best-practices"], rangeStrategy: "pin", dependencyDashboard: true, + // Dependency updates are committed as `build(deps): …`, which release-please lists under "Dependencies" instead of + // "Bug Fixes". config:best-practices types every update `chore` and the runtime dependencies `fix` through package + // rules, which a top-level semanticCommitType cannot override: the rules at the end of packageRules replace `fix` + // with `build`, and the other updates stay `chore`, outside the changelog and without a release of their own. + semanticCommits: "enabled", + semanticCommitScope: "deps", // Version policy, as in Muster's repository: routine updates arrive once a week, grouped per ecosystem, and merge // themselves when every required check passes. Major updates wait in the Dependency Dashboard until a maintainer // ticks them. Security fixes are not held by the schedule. @@ -67,6 +73,15 @@ matchPackageNames: ["datamodel-code-generator"], prBodyNotes: "Regenerate src/muster_bridge/models.py with `make generate` and commit it.", }, + { + matchManagers: ["pep621"], + matchDepTypes: ["project.dependencies", "project.optional-dependencies"], + semanticCommitType: "build", + }, + { + matchJsonata: ["isLockfileUpdate = true"], + semanticCommitType: "chore", + }, ], lockFileMaintenance: { enabled: true, diff --git a/release-please-config.json b/release-please-config.json index d8a37bc..fcc315d 100644 --- a/release-please-config.json +++ b/release-please-config.json @@ -7,6 +7,7 @@ "include-v-in-tag": true, "include-component-in-tag": false, "bump-minor-pre-major": true, + "bump-patch-for-minor-pre-major": true, "initial-version": "0.1.0", "changelog-path": "CHANGELOG.md", "extra-files": [ @@ -15,6 +16,58 @@ "path": "uv.lock", "jsonpath": "$.package[?(@.name.value=='muster-bridge')].version" } + ], + "changelog-sections": [ + { + "type": "feat", + "section": "Features" + }, + { + "type": "fix", + "section": "Bug Fixes" + }, + { + "type": "perf", + "section": "Performance Improvements" + }, + { + "type": "revert", + "section": "Reverts" + }, + { + "type": "build", + "section": "Dependencies" + }, + { + "type": "docs", + "section": "Documentation", + "hidden": true + }, + { + "type": "chore", + "section": "Miscellaneous Chores", + "hidden": true + }, + { + "type": "ci", + "section": "Continuous Integration", + "hidden": true + }, + { + "type": "test", + "section": "Tests", + "hidden": true + }, + { + "type": "refactor", + "section": "Code Refactoring", + "hidden": true + }, + { + "type": "style", + "section": "Styles", + "hidden": true + } ] } } From 3d7ff0996c65ed17632270a8909ee5801c262927 Mon Sep 17 00:00:00 2001 From: AlexMorbo Date: Wed, 21 Oct 2026 02:05:42 +0300 Subject: [PATCH 2/2] docs: say that build commits are for dependency changes --- CONTRIBUTING.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 574b575..3bbbe1f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -53,7 +53,9 @@ analyse the code and the repository's practices. - Branch from `master`; a story's branch is `s-NNN-`, with the slug of its story file name. - Commit messages are [conventional commits](https://www.conventionalcommits.org/) on one line: `(): `, with `feat`, `fix`, `docs`, `build`, `ci`, `test`, `refactor`, `perf` or `chore`. - Say what changed; leave out story and phase IDs. + Say what changed; leave out story and phase IDs. `build` means a dependency change, the type Renovate uses: it shows + under "Dependencies" in the changelog and starts a release. Work on the build system or the tooling uses `chore` or + `ci`. - No AI attribution: no `Co-Authored-By` trailers for tools and no "Generated with" lines, in commits or pull requests. - Pull requests are squash-merged, so the title becomes the commit message, and release-please writes the changelog from it.