Prhub

#36636 [AMD][CI] Add targeted Mori test labels

原始 PR 作者 inkcherry 合并时间 2026-08-27 15:24 文件变更 1 提交数 2 评论 0 代码增减 +101 / -0

执行摘要

新增 run-mori-pd/run-mori-hicache 标签门控 AMD CI 测试

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

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

讨论亮点

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

实现拆解

  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 工作流 added 5.38

分析完成后,这里会展示 LLM 生成的相对完整源码片段和详细注释。

评论区精华

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

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

风险与影响

新工作流依赖两个尚未创建的仓库标签,若未创建则 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 工作流

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论