@@ -32,7 +32,7 @@ IMX-Forge 目前更适合采用 **维护者手动触发 release workflow** 的
3232| Release 文档 | ` document/release/v1.0.0.md ` | 适合继续按正式版本维护 |
3333| CHANGELOG | ` changelog/CHANGELOG.md ` | 已存在,后续沿用此路径 |
3434| GitHub Actions workflow | 5 个 | 已有 CI、Full Build、Pages、Docker 发布基础 |
35- | Docker 发布触发 | ` v*.*.* ` tag + tag message 策略 | 与手动 release workflow 衔接,并支持按版本跳过 |
35+ | Docker 发布触发 | release workflow dispatch + 手动 dispatch + tag push 兜底 | 与手动 release workflow 衔接,并支持按版本跳过 |
3636| ` package.json ` version | ` 0.0.1 ` 且 ` private: true ` | 不作为项目发布版本源 |
3737
3838现有 workflow:
@@ -43,7 +43,7 @@ IMX-Forge 目前更适合采用 **维护者手动触发 release workflow** 的
4343- ` .github/workflows/deploy.yml `
4444- ` .github/workflows/docker-publish.yml `
4545
46- 关键点:` .github/workflows/docker-publish.yml ` 已经在 ` v*.*.* ` tag push 时响应 Docker 发布。release workflow 会在 annotated tag message 中写入 ` Docker-Image: true/false ` ,Docker workflow 据此决定是否实际构建镜像 。
46+ 关键点:GitHub Actions 使用 ` GITHUB_TOKEN ` 推送 tag 时,不会级联触发另一个 ` push tags ` workflow。release workflow 因此在 ` publish_docker_image=true ` 时显式 ` workflow_dispatch ` 调用 ` .github/workflows/docker-publish.yml ` ,并以新 tag 作为 ` --ref ` 。本地或人工推送 ` v*.*.* ` tag 时, Docker workflow 仍可通过 tag push 触发作为兜底 。
4747
4848---
4949
@@ -188,7 +188,7 @@ release workflow 应执行以下动作:
188188 |-- 创建 annotated tag
189189 |-- push tag
190190 |-- 按 create_github_release 决定是否创建 GitHub Release
191- |-- 按 publish_docker_image 决定 docker-publish.yml 是否发布 Docker 镜像
191+ |-- 按 publish_docker_image 决定是否显式 dispatch docker-publish.yml
192192```
193193
194194建议 tag 使用 annotated tag,并写入发布意图:
@@ -201,6 +201,8 @@ GitHub-Release: true
201201Docker-Image: true
202202```
203203
204+ 注意:` Docker-Image ` 字段主要用于人工 tag push 的兜底路径。release workflow 创建 tag 后,会直接通过 ` workflow_dispatch ` 触发 Docker workflow,避免 ` GITHUB_TOKEN ` tag push 不触发后续 workflow 的限制。
205+
204206### 5.4 发布前检查
205207
206208发布 workflow 至少应执行:
@@ -390,7 +392,7 @@ v1.1.0
390392| 2 | ` README.md ` | 修改 | 在 badge 区域增加 Release badge |
391393| 3 | ` changelog/CHANGELOG.md ` | 修改 | 保持现有路径,后续按版本补充 |
392394| 4 | ` document/release/versioning-strategy.md ` | 修改 | 本策略文档,已接入发布文档站 |
393- | 5 | ` .github/workflows/docker-publish.yml ` | 修改 | 继续响应 ` v*.*.* ` tag,并按 tag message 中的 ` Docker-Image ` 决定是否发布 |
395+ | 5 | ` .github/workflows/docker-publish.yml ` | 修改 | 支持 release workflow dispatch,在 tag push 兜底路径中按 tag message 的 ` Docker-Image ` 决定是否发布 |
394396
395397暂不实施:
396398
0 commit comments