ci: release spring-boot bumps as chore on the patch lane#167
Merged
Conversation
bump-spring now emits a fixed chore: commit instead of the delta-driven feat/fix, so every Spring Boot upgrade rides the patch release lane (kapok-style). release-please's changelog-sections marks chore + refactor visible so the chore-only bump PR still opens a release PR. Co-authored-by: Claude Opus 4.8 <noreply@softleader.com.tw>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
變更內容
讓每日
bump-spring的 Spring Boot 升級走 chore → patch 發版車道(kapok 式「依賴維護一律 patch」慣例),取代原本依版號差決定feat/fix的邏輯。兩處改動是一組耦合:.github/workflows/bump-spring.yml— 移除 delta-driven 的Resolve commit type步驟與commit-typeoutput,commit-message 與 title 固定為chore: bump spring-boot from X to Y。.release-please-config.json— 新增changelog-sections,讓feat/fix/perf/revert+chore/refactor可見,其餘(docs/style/test/build/ci)隱藏。為什麼兩者要一起改
chore在 release-please 預設(含 Maven 內建CHANGELOG_SECTIONS)是隱藏的。若只改 workflow 不開changelog-sections,spring 的chore:PR 會渲染空 changelog → 切不出 release。現在雙閘門對齊:chore可見 → 開 release PR(gate 2)→ patch 升版(gate 1)。行為取捨
Spring Boot minor 升級(如 3.5 → 3.6)以前切一個 specification-mapper minor(feat),現在切 patch(chore)。
bump-spring的boot-version: "~3.x"把自動升級鎖在 3.x 內,不會自動跳 major,所以唯一被降級的就是 spring minor。若要手動跳 major 並走 minor/major,用Release-As:footer 或feat!:覆寫即可。驗證
對照 release-please v17 真實原始碼做了三維度覆核(config 語意 / workflow YAML / 端到端雙閘門),皆通過:
changelog-sections完整取代預設,feat/fix 已明列保留發版commit-type參照,compare-version仍輸出comparison-resultchore:標題通過 commitlint;App-token(Trap 15)完好