# PR #36636 完整报告

- 仓库：`sgl-project/sglang`
- 标题：[AMD][CI] Add targeted Mori test labels
- 合并时间：2026-08-27 15:24
- 原文链接：http://prhub.com.cn/sgl-project/sglang/pull/36636

---

# 执行摘要

- 一句话：新增 run-mori-pd/run-mori-hicache 标签门控 AMD CI 测试
- 推荐动作：建议 CI 维护者与 AMD 相关开发者精读，重点关注标签门控与 workflow_dispatch 双通道触发、labeled 事件不取消进行中任务这两个设计点；对一般业务开发者价值有限。落地前需确认仓库标签已创建，并观察首个标签 PR 的 runner 调度与 RDMA 环境是否按预期工作。

# 功能与动机

PR body 说明：Mori PD 和 HiCache 测试当前嵌入在更广泛的 AMD 阶段，可能被无关失败阻塞；通过 register_amd_ci 注册的 AMD 测试也无法通过 /rerun-test 或 /rerun-group 派发。因此希望用独立的标签在工作流层面定向重跑这些测试，避免全量 AMD 阶段的开销与串扰。

# 实现拆解

1. **新增工作流入口**：在 .github/workflows/pr-test-amd-mori.yml 中监听 pull_request 的 opened/synchronize/reopened/labeled 事件与 workflow_dispatch；labeled 事件按 label 名称（run-mori-pd / run-mori-hicache）精确匹配，非 labeled 事件则通过 contains(pull_request.labels.*.name, ...) 判断，保证标签持续存在时后续 commit 也能自动重跑。
2. **并发与权限设计**：concurrency group 以 PR 号或 ref 隔离，cancel-in-progress 在 labeled 事件下为 false，避免打多个标签时取消正在运行的测试；permissions 收紧为 contents: read，环境变量透传 DOCKERHUB_AMD 凭据与可选镜像覆盖。
3. **mori-pd 作业**：在 linux-mi35x-gpu-8.fabric（8-GPU fabric）runner 上运行，先 ensure_vram_clear.sh rocm 清空显存，再探测 /sys/class/infiniband 是否存在以导出 SGLANG_TEST_RDMA_DEVICE，随后启动 disaggregation 容器（amd_ci_start_container_disagg.sh --rocm-version rocm724）、安装依赖并执行 registered/amd/disaggregation/test_mori_transfer_engine_e2e.py，超时 90 分钟。
4. **mori-hicache 作业**：在 linux-mi35x-gpu-8 runner 上运行，启动容器时设置 ENABLE_CACHE_HOST=1，安装依赖时 --skip-test-time-deps 跳过测试期依赖，测试环境注入 SGLANG_HACK_FLASHMLA_BACKEND=unified_kv_triton 与 SGLANG_MOE_COPY_WEIGHT_VIEWS_BEFORE_H2D=1，运行 UMBPStore 单元测试与 Mori/UMBP HiCache E2E，超时 120 分钟。
5. **配套事项**：无源码或测试改动；需先在仓库创建两个 label；支持 workflow_dispatch 透传 ref 与 amd_ci_image 覆盖；Mori EP 测试按 PR 说明有意排除。

关键文件：
- `.github/workflows/pr-test-amd-mori.yml`（模块 CI 工作流；类别 infra；类型 infrastructure）: 本 PR 唯一的变更文件，新增标签门控的 AMD Mori CI 工作流，将 Mori PD 与 HiCache 测试从宽泛的 AMD 阶段中独立出来，支持定向重跑与手动触发。

关键符号：未识别


# 评论区精华

本 PR 没有收到任何 review 评论，HaiShaw 直接 Approve，改动争议很小。值得注意的设计决策都写在 PR body 中：两个标签彼此独立且独立于 run-ci，workflow_dispatch 可手动触发，Mori EP 测试明确排除在范围外；此外 concurrency 对 labeled 事件不取消进行中任务，避免打多个标签时互相打断。

- 暂无高价值评论线程

# 风险与影响

- 风险：新工作流依赖两个尚未创建的仓库标签，若未创建则 labeled 触发失效；RDMA 设备检测是可选逻辑，fabric runner 上没有 InfiniBand 时 SGLANG_TEST_RDMA_DEVICE 为空，可能导致 Mori PD E2E 跳过或失败；硬编码 --rocm-version rocm724 与现有 AMD 容器 / 依赖脚本强耦合，脚本升级可能让标签测试意外失败；两个作业都占用 MI35x 8-GPU runner，与既有 AMD CI 任务共享队列，存在资源排队；Mori EP 测试未覆盖，EP 路径回归无法被检出。
- 影响：本 PR 只影响 AMD CI 流程：打 run-mori-pd / run-mori-hicache 标签的 PR 会在 MI35x 8-GPU runner 上执行对应测试子集，标签可跨 commit 保留实现自动重跑；不改变默认 CI 行为，不影响普通 PR 与用户；对 AMD 团队而言显著降低定向调试 Mori 相关问题的成本，但会增加 runner 队列压力。
- 风险标记：依赖仓库 label 创建 , 复用 AMD 脚本版本耦合 , fabric runner 依赖 RDMA, Mori EP 测试未覆盖 , 新 CI 工作流

# 关联脉络

- PR #35611 [AMD] Enable moe_a2a_backend=mori for DeepSeek-V4 prefill context parallelism: Mori A2A 后端功能线；本 PR 为该功能补上定向 CI 覆盖，形成功能落地到 CI 保障的闭环
- PR #36605 [CI] Graceful teardown for the radix_cache server fixtures: 同属 HiCache/radix_cache 测试稳定性提升，与本 PR 的 Mori HiCache 标签测试目标一致
- PR #36396 [AMD][CI] Add DeepSeek-V4-Flash FP8 accuracy coverage on MI30x: 同为 AMD CI 测试覆盖扩展的先例，与本 PR 一起体现 AMD 测试体系持续演进