执行摘要
- 一句话:为 PR Test workflow 设置差异化 run-name
- 推荐动作:值得快速合入。对于大型项目,CI 可观测性的小改进能显著提升效率。此 PR 的做法可作为其他 workflow 的参考模式。
功能与动机
原来所有 PR Test Base 运行在 Actions 页面上都显示相同的 'PR Test Base',无法区分是定时调度、手动触发还是 PR 触发,造成排查困扰。PR body 明确说明要 'reflect what triggered it'。
实现拆解
- 在
.github/workflows/pr-test.yml 文件顶部 name 下方新增 run-name 字段。
- 使用
${{ }} 表达式判断 github.event_name:
schedule → 显示 'Scheduled Full Run'
workflow_dispatch → 显示 'Manual run by {actor}'
pull_request → 显示 'PR #{number} - {title}'
- 兜底 → 显示 'PR Test Base'
- 第 2 次提交将首次提交中
schedule 事件的标题从 'base' 修正为 'full run',更准确地反映实际运行内容(定时触发的是全量测试而非基础测试)。
关键文件:
.github/workflows/pr-test.yml(模块 CI 配置;类别 infra;类型 infrastructure): 唯一变更文件,新增 run-name 动态表达式,是 PR 的全部内容。
关键符号:未识别
关键源码片段
.github/workflows/pr-test.yml
唯一变更文件,新增 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 触发三种场景,兜底保持默认名。
评论区精华
无 review 评论,只有作者自行合并,说明变更简单且无争议。
风险与影响
- 风险:run-name 仅影响 Actions 页面展示标签,不改变任何执行逻辑或触发条件,风险极低。
- 影响:CI 维护者和开发者在查看 Actions 页面时能快速识别运行来源,减少手动点开查看的麻烦。
- 风险标记:暂无
关联脉络
- PR #25387 ci: standalone PR awareness workflow (decouple from pr-test reusable chain): 都与 pr-test workflow 相关,本 PR 是在其基础上提升列表页可读性的互补改进。
- PR #25392 pr-states: fix fork-PR token + add run-ci label awareness: 同一时期 CI 可观测性改进系列,关注 Actions 页面与状态展示。
参与讨论