feat: make version-bump 默认 BUMP=patch,无需显式传参
This commit is contained in:
2
Makefile
2
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)))
|
||||
|
||||
@@ -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` 成功完成
|
||||
|
||||
Reference in New Issue
Block a user