# PR #25452 完整报告

- 仓库：`sgl-project/sglang`
- 标题：[CI] Show distinct run-name per event in pr-test workflow
- 合并时间：2026-05-16 09:58
- 原文链接：http://prhub.com.cn/sgl-project/sglang/pull/25452

---

# 执行摘要

- 一句话：为 PR Test workflow 设置差异化 run-name
- 推荐动作：值得快速合入。对于大型项目，CI 可观测性的小改进能显著提升效率。此 PR 的做法可作为其他 workflow 的参考模式。

# 功能与动机

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

# 实现拆解

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 配置；类别 infra；类型 infrastructure）: 唯一变更文件，新增 run-name 动态表达式，是 PR 的全部内容。

关键符号：未识别

## 关键源码片段

### `.github/workflows/pr-test.yml`

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

```yaml
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 页面与状态展示。