# PR #34813 完整报告

- 仓库：`sgl-project/sglang`
- 标题：[CI] Surface AMD ROCm 7.2 state in the PR CI-states block
- 合并时间：2026-08-20 13:18
- 原文链接：http://prhub.com.cn/sgl-project/sglang/pull/34813

---

# 执行摘要

- 一句话：PR 状态块新增 AMD ROCm 7.2 行，不影响门禁
- 推荐动作：该 PR 值得快速了解，展示了 CI 状态展示的改进思路，但无复杂设计，适合维护 CI 的工程师精读。

# 功能与动机

PR 描述中的 CI 状态块此前仅查询 pr-test.yml 和 pr-test-extra.yml，未包含 AMD ROCm 7.2 测试结果，导致合并值班人员只看到 CUDA 结果，无法直观了解 AMD 测试状态。本 PR 通过新增 AMD 查询行，让状态块更完整。

# 实现拆解

1. 在 .github/workflows/pr-states.yml 的 workflow_run 触发器中加入 'PR Test ROCm 7.2 (AMD)'，使 AMD 工作流完成时也能触发状态更新。
2. 在 workflow_run 事件处理逻辑中增加 event 检查，仅接受 pull_request 事件，避免单阶段 workflow_dispatch 运行被误用。
3. 在 findRun 函数中增加 event: 'pull_request' 过滤，确保查询完整门禁运行。
4. 新增 AMD 查询，与现有 Base、Extra 查询并发执行，不增加墙钟时间，并在缺失时使用中性文案。

关键文件：
- `.github/workflows/pr-states.yml`（模块 CI 状态；类别 infra；类型 infrastructure）: 核心变更文件，控制 PR 状态块的生成逻辑

关键符号：findRun

## 关键源码片段

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

核心变更文件，控制 PR 状态块的生成逻辑

```yaml
# workflow_run 触发：新增 AMD 工作流以响应其完成事件
workflow_run:
  workflows: ["PR Test Base", "PR Test Extra", "PR Test ROCm 7.2 (AMD)"]
  types: [requested, completed]

# 处理 workflow_run 事件时，仅接受 pull_request 事件
if (wr.event !== 'pull_request') {
  core.info(`Triggering run event '${wr.event}' is not pull_request; skipping.`);
  return;
}

# findRun 函数增加 event 过滤，确保查询完整门禁运行
event: 'pull_request',

```

# 评论区精华

在 issue 评论中，作者 michaelzhang-ai 回应了 reviewer bingxche 关于 label-only 空运行覆盖真实结果的担忧，承认 always() 聚合器会成功而非跳过，因此原来的 per_page: 10 加跳过 skipped 的过滤无法捕获，已回退到原始单次查询逻辑。其他两点也确认修复。

- label-only 空运行覆盖真实结果 (correctness): 回退到原始单次查询逻辑，避免覆盖。

# 风险与影响

- 风险：变更仅涉及 CI 工作流文件，不影响运行时逻辑。风险在于：AMD 工作流路径过滤可能导致查询不到运行，但已采用中性文案；事件过滤可能遗漏某些合法的 workflow_dispatch 更新，但设计上刻意规避。
- 影响：影响仅针对 PR 描述的 CI 状态块展示，提升 AMD 测试可见性，不改变 CI 执行和合并门禁，对用户和系统无影响，团队受益于更完整的 CI 概览。
- 风险标记：CI 配置变更 , 单一文件变更

# 关联脉络

- PR #30984 [AMD] [Docker] Upgrade Python 3.12 + torch 2.11 + triton 3.7 in ROCm 7.2.4: 同涉及 AMD ROCm 7.2 CI 基础设施调整