Skip to content

ci: release spring-boot bumps as chore on the patch lane#167

Merged
shihyuho merged 1 commit into
jakartafrom
ci/spring-bump-chore
Jun 22, 2026
Merged

ci: release spring-boot bumps as chore on the patch lane#167
shihyuho merged 1 commit into
jakartafrom
ci/spring-bump-chore

Conversation

@shihyuho

Copy link
Copy Markdown
Member

變更內容

讓每日 bump-spring 的 Spring Boot 升級走 chore → patch 發版車道(kapok 式「依賴維護一律 patch」慣例),取代原本依版號差決定 feat/fix 的邏輯。兩處改動是一組耦合:

  • .github/workflows/bump-spring.yml — 移除 delta-driven 的 Resolve commit type 步驟與 commit-type output,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-springboot-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-result
  • chore: 標題通過 commitlint;App-token(Trap 15)完好
  • 不會無限迴圈(commit 以 last-release SHA 為界)

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>
@shihyuho shihyuho merged commit 7054e71 into jakarta Jun 22, 2026
2 of 4 checks passed
@shihyuho shihyuho deleted the ci/spring-bump-chore branch June 22, 2026 05:23
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.

1 participant