Prhub

#25452 [CI] Show distinct run-name per event in pr-test workflow

原始 PR 作者 hnyls2002 合并时间 2026-05-16 09:58 文件变更 1 提交数 2 评论 1 代码增减 +7 / -0

执行摘要

为 PR Test workflow 设置差异化 run-name

原来所有 PR Test Base 运行在 Actions 页面上都显示相同的 'PR Test Base',无法区分是定时调度、手动触发还是 PR 触发,造成排查困扰。PR body 明确说明要 'reflect what triggered it'。

值得快速合入。对于大型项目,CI 可观测性的小改进能显著提升效率。此 PR 的做法可作为其他 workflow 的参考模式。

讨论亮点

无 review 评论,只有作者自行合并,说明变更简单且无争议。

实现拆解

  1. .github/workflows/pr-test.yml 文件顶部 name 下方新增 run-name 字段。
  2. 使用 ${{ }} 表达式判断 github.event_name
    • schedule → 显示 'Scheduled Full Run'
    • workflow_dispatch → 显示 'Manual run by {actor}'
    • pull_request → 显示 'PR #{number} - {title}'
    • 兜底 → 显示 'PR Test Base'
  3. 第 2 次提交将首次提交中 schedule 事件的标题从 'base' 修正为 'full run',更准确地反映实际运行内容(定时触发的是全量测试而非基础测试)。
文件 模块 状态 重要度
.github/workflows/pr-test.yml CI 配置 modified 3.29

关键源码片段

.github/workflows/pr-test.yml infrastructure

唯一变更文件,新增 run-name 动态表达式,是 PR 的全部内容。

name: PR Test Base
# 根据触发事件设置不同的运行标题,方便在 Actions 列表页区分来源
run-name: >-
  ${{ github.event_name == 'schedule' && 'Scheduled Full Run'
    || github.event_name == 'workflow_dispatch' && format('Manual run by {0}', github.actor)
    || github.event_name == 'pull_request' && format('PR #{0} - {1}', github.event.pull_request.number, github.event.pull_request.title)
    || 'PR Test Base'
  }}
on:
  schedule:
    ...

说明:run-name 是 GitHub Actions 用于覆盖工作流运行显示名称的字段。这里通过内联条件表达式,分别处理定时(schedule)、手动(workflow_dispatch)和 PR 触发三种场景,兜底保持默认名。

评论区精华

没有提炼出高价值讨论线程

当前评论区没有形成足够清晰的争议点或结论,后续有更多讨论时会体现在这里。

风险与影响

run-name 仅影响 Actions 页面展示标签,不改变任何执行逻辑或触发条件,风险极低。

CI 维护者和开发者在查看 Actions 页面时能快速识别运行来源,减少手动点开查看的麻烦。

关联 Issue

未识别关联 Issue

当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。

完整报告

参与讨论