feat: update manage-release
This commit is contained in:
@@ -28,9 +28,11 @@
|
||||
|
||||
- `schema`:配置结构版本,当前为 `1`。
|
||||
- `base_branch`:发布 PR/MR 的目标分支。
|
||||
- `branch_pattern`:版本分支格式,支持无展示前缀的规范 `{version}`。
|
||||
- `branch_pattern`:需要准备仓库修改时使用的版本分支格式,支持无展示前缀的规范
|
||||
`{version}`;直接发布不因此创建分支。
|
||||
- `version.scheme`:`semver` 或项目已经使用的其他方案。
|
||||
- `version.sources`:构建和运行实际读取的权威版本文件。
|
||||
- `version.sources`:构建和运行实际读取的权威版本文件;项目明确从 Git tag 派生版本时
|
||||
可以省略,不要为了发布新增无消费方的版本文件。
|
||||
- `tag_pattern`:release tag 格式,支持无展示前缀的规范 `{version}`。
|
||||
- `merge_method`:`squash`、`merge` 或 `rebase`。
|
||||
- `forge_release`:项目是否建议在 tag 后创建 Forge Release;它不授予创建权限。
|
||||
@@ -54,18 +56,20 @@ symlink 后,目标必须仍在当前 worktree 内;权威来源通常还应
|
||||
|
||||
1. 从 remote HEAD 和平台信息确定默认 base,不能确定时询问。
|
||||
2. 从项目文档、CI 和构建入口找版本文件及更新方式。
|
||||
3. 从已有分支和已合并 PR/MR 识别命名与合并方式。
|
||||
4. 从稳定 tag 识别前缀和版本方案,只把 tag 当作交叉验证。
|
||||
5. 无项目约定时使用 `release/v<version>`、SemVer、`v<version>` annotated tag 和
|
||||
squash merge;默认不创建 Forge Release,不删除远端分支。
|
||||
3. 仅当发布需要修改仓库内容时,从已有分支和已合并 PR/MR 识别命名与合并方式。
|
||||
4. 从稳定 tag 识别前缀、版本方案和更新说明范围;项目由 tag 派生版本时,把实际构建
|
||||
入口和 tag 历史共同作为版本来源证据,否则只把 tag 当作交叉验证。
|
||||
5. 无项目约定时使用 SemVer 和 `v<version>` annotated tag;需要准备仓库修改时再使用
|
||||
`release/v<version>` 和 squash merge。默认不创建 Forge Release,不删除远端分支。
|
||||
|
||||
## 每次执行的计划快照
|
||||
|
||||
在第一次写操作前列出以下事实:
|
||||
|
||||
- base 分支和远端 commit。
|
||||
- base 分支、远端 commit 和 tag 将指向的目标 commit。
|
||||
- 当前版本、目标版本、版本来源和升级依据。
|
||||
- worktree 路径与分支名。
|
||||
- 更新说明的提交范围、来源和拟发布内容。
|
||||
- 是否需要修改仓库内容;需要时再列出 worktree 路径与分支名。
|
||||
- PR/MR 托管平台和合并方式。
|
||||
- tag 与 Forge Release 计划。
|
||||
- 用户授权的最远阶段和清理范围。
|
||||
|
||||
Reference in New Issue
Block a user