feat: update release
This commit is contained in:
@@ -17,7 +17,8 @@ description: >-
|
||||
## 按需读取参考资料
|
||||
|
||||
- 开始任何流程时读取 [project-policy.md](references/project-policy.md),确定策略来源和默认值。
|
||||
- 需要选择、更新或核对版本号时读取 [versioning.md](references/versioning.md)。
|
||||
- 需要选择、更新或核对版本号,或生成 tag 更新说明时读取
|
||||
[versioning.md](references/versioning.md)。
|
||||
- 需要 push、创建或合并 PR/MR、创建 Forge Release 时读取
|
||||
[forge-adapters.md](references/forge-adapters.md)。
|
||||
- 遇到重复资源、并发冲突、部分成功或清理请求时读取
|
||||
@@ -172,16 +173,17 @@ PR/MR 时,停在这里并返回 URL、head/base、当前检查状态和阻塞
|
||||
中锁定且重新验证过的远端目标 commit。两者统一记为 release commit。核对目标版本后,
|
||||
再查询一次远端同名 tag。
|
||||
|
||||
创建 tag 前,根据上一个稳定 tag 到 release commit 的实际差异生成更新说明;首次发布则
|
||||
使用项目声明的发布基线,没有声明时核对完整可达历史并明确标记首次发布。说明概括实际
|
||||
存在的新增、变更、修复、维护或文档变化;存在破坏性变化、迁移步骤或已知限制时必须明确
|
||||
列出。每项内容都应能追溯到本次提交、PR/MR 或项目 CHANGELOG。空说明、只重复版本号、
|
||||
模板占位文字或无法由实际变化支持的内容都不能发布。
|
||||
创建 tag 前,按 [versioning.md](references/versioning.md) 生成并检查 tag message:根据
|
||||
上一个稳定 tag 到 release commit 的实际差异填写 `Summary`、`Changes`、`Validation`
|
||||
和 `Base commit`;首次发布则使用项目声明的发布基线,没有声明时核对完整可达历史并明确
|
||||
标记首次发布。空说明、只重复版本号或提交标题、缺少规定字段、模板占位文字、伪造变更
|
||||
或无法由实际变化支持的内容都不能发布。
|
||||
|
||||
tag 不存在时,使用完整更新说明创建 annotated tag;项目要求签名时,必须先确认签名
|
||||
工具和密钥可用,创建 signed annotated tag,并在本地验证签名成功后才允许 push。使用
|
||||
文件输入完整的多行说明,显式指定 release commit,并只推送这个 tag。禁止创建 lightweight
|
||||
release tag。签名不可用或验证失败时停止,不得降级为 unsigned tag。
|
||||
tag 不存在时,把检查通过的完整 message 写入文件,再用
|
||||
`git tag -a <tag> <release-commit> -F <release-notes-file>` 创建 annotated tag;项目
|
||||
要求签名时,必须先确认签名工具和密钥可用,创建 signed annotated tag,并在本地验证签名
|
||||
成功后才允许 push。显式指定 release commit,并只推送这个 tag。禁止使用简短 `-m` 或
|
||||
创建 lightweight release tag。签名不可用或验证失败时停止,不得降级为 unsigned tag。
|
||||
|
||||
同名远端 tag 已存在且指向其他 commit 时立即停止。不要覆盖、删除或移动已经发布的
|
||||
tag。同名 tag 即使指向 release commit,只要它是 lightweight tag、缺少更新说明或说明与
|
||||
@@ -217,8 +219,8 @@ Forge Release 正文复用 tag 中经过验证的更新说明,不维护第二
|
||||
- required checks、review 或冲突状态不满足合并规则。
|
||||
- 合并结果的准确 commit 无法从平台确认,或无法从远端 base 到达。
|
||||
- 远端 tag 已指向其他 commit。
|
||||
- 更新说明为空、只有版本号、包含占位内容、无法追溯到实际变化,或远端 tag 不是包含
|
||||
计划说明的 annotated tag。
|
||||
- 更新说明为空、只有版本号或提交标题、缺少规定字段、包含占位内容、无法追溯到实际
|
||||
变化,或远端 tag 不是包含计划说明的 annotated tag。
|
||||
- 请求的 PR/MR、合并或 Forge Release 阶段所需的平台 CLI 缺失、未认证或无法读取状态。
|
||||
- 项目要求 tag 签名,但签名能力不可用或本地签名验证失败。
|
||||
- 操作需要 force push、管理员绕过、移动已发布 tag 或覆盖用户工作。
|
||||
|
||||
Reference in New Issue
Block a user