ci(release): 发布工作流加显式 run-name,Actions 列表不再显示提交信息(M268)

release.yml / release-guard.yml 之前没有 run-name,GitHub 默认拿提交信息当运行名,
于是 v0.2.4 那条把「孤儿提交 / 无父 / 树 = dev <hash>」这类快照模型术语贴到了公开界面。

- release.yml: tag push / tag ref dispatch => `Release v0.2.4`;分支 ref dispatch => `Release 试跑 main(分支 ref,不发布)`
- release-guard.yml: push main / dispatch => `Release guard · main`;PR => `Release guard · PR #123`
- release-publish.yml: workflow_call 不产生自己的 run,故不加(文件头写明理由)
- 只新增 run-name,所有已有 `name:` 一字未动
- packaging/docs/artifacts-and-version.md 新增 §2.1:里程碑快照提交信息只写版本 + 一句话,附正/反例
This commit is contained in:
AskaEth committed 2026-11-12 09:29:01 +08:00
1 parent ba5403a056
commit e2d8fd9593
5 files changed
+71 -1

No files matched your search

+7
View File
@@ -1,5 +1,12 @@
name: Release guard
# (M268)显式 `run-name`:本文件**不是**可复用工作流(`on:` 是 push main / pull_request / workflow_dispatch),
# 每次都在 Actions 列表里单独占一行,所以同样吃「运行名 = 提交信息」这条默认行为——v0.2.4 的发布提交推到 main 时,
# 那段「孤儿提交 / 无父 / 树 = dev …」在这里也会再泄漏一次。PR 事件的 `github.ref_name` 是 `<PR 号>/merge`,
# 贴出来不人读,故按事件分两支:PR 用 `github.event.pull_request.number`(`github` 上下文,run-name 可用且必有值),
# 其余(push main / dispatch)用 `ref_name`(`refs/heads/main` ⇒ `main`,非空)。**`name:` 一字未动。**
run-name: "${{ github.event_name == 'pull_request' && format('Release guard · PR #{0}', github.event.pull_request.number) || format('Release guard · {0}', github.ref_name) }}"
# 发布标记语义守门(M163):**push tag 默认创建稳定版**这条不许只靠注释保证。
#
# 判据全部在 `packaging/check_release_semantics.py`,它做四件事: