From 32f48777f3bffb5aa458cb306fe97556634f2848 Mon Sep 17 00:00:00 2001 From: lanyuanxiaoyao Date: Tue, 5 May 2026 04:32:38 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20make=20version-bump=20=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=20BUMP=3Dpatch=EF=BC=8C=E6=97=A0=E9=9C=80=E6=98=BE?= =?UTF-8?q?=E5=BC=8F=E4=BC=A0=E5=8F=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Makefile | 2 +- openspec/specs/version-bump/spec.md | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index e46a9d9..70b2243 100644 --- a/Makefile +++ b/Makefile @@ -51,8 +51,8 @@ version-sync: version-check: go run ./versionctl check +version-bump: BUMP ?= patch version-bump: - @test -n "$(BUMP)$(SET_VERSION)" || (printf '用法: make version-bump BUMP=major|minor|patch 或 make version-bump SET_VERSION=x.y.z\n' && exit 1) @git diff --quiet HEAD || (printf '工作区不干净,请先提交或暂存改动\n' && exit 1) $(eval _BUMP_ARG := $(if $(SET_VERSION),$(SET_VERSION),$(BUMP))) $(eval _NEW_VERSION := $(shell go run ./versionctl bump $(_BUMP_ARG))) diff --git a/openspec/specs/version-bump/spec.md b/openspec/specs/version-bump/spec.md index 1cb34e1..5aca011 100644 --- a/openspec/specs/version-bump/spec.md +++ b/openspec/specs/version-bump/spec.md @@ -90,13 +90,18 @@ ### Requirement: 版本升迁 Makefile 编排 -`make version-bump` SHALL 编排完整的版本升迁流程:工作区干净检查 → `version bump`(含 sync/check/倒退检查)→ git add → git commit → git tag。 +`make version-bump` SHALL 编排完整的版本升迁流程:工作区干净检查 → `version bump`(含 sync/check/倒退检查)→ git add → git commit → git tag。不传 `BUMP` 参数时 SHALL 默认执行 `BUMP=patch`。 #### Scenario: 完整升迁流程 - **WHEN** 执行 `make version-bump BUMP=minor`,工作区干净,当前版本 `0.1.0` - **THEN** Makefile SHALL 依次执行:工作区检查 → `version bump minor` → `git add VERSION frontend/` → `git commit -m "chore: 版本升迁 v0.2.0"` → `git tag v0.2.0` +#### Scenario: 不传 BUMP 默认 patch + +- **WHEN** 执行 `make version-bump`,工作区干净,当前版本 `0.1.0` +- **THEN** Makefile SHALL 等效于执行 `make version-bump BUMP=patch`,将版本更新为 `0.1.1` + #### Scenario: 工作区不干净 - **WHEN** 执行 `make version-bump BUMP=minor`,但工作区有未提交的改动 @@ -107,6 +112,11 @@ - **WHEN** 执行 `make version-bump SET_VERSION=1.0.0` - **THEN** Makefile SHALL 将 `1.0.0` 传递给 `version bump` 子命令 +#### Scenario: SET_VERSION 优先于默认 BUMP + +- **WHEN** 执行 `make version-bump SET_VERSION=2.0.0` +- **THEN** Makefile SHALL 使用 `SET_VERSION=2.0.0` 而非默认的 `BUMP=patch` + #### Scenario: 不自动推送 - **WHEN** `make version-bump` 成功完成