执行摘要
- 一句话:新增 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 阶段的开销与串扰。
实现拆解
- 新增工作流入口:在 .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 也能自动重跑。
- 并发与权限设计:concurrency group 以 PR 号或 ref 隔离,cancel-in-progress 在 labeled 事件下为 false,避免打多个标签时取消正在运行的测试;permissions 收紧为 contents: read,环境变量透传 DOCKERHUB_AMD 凭据与可选镜像覆盖。
- 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 分钟。
- 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 分钟。
- 配套事项:无源码或测试改动;需先在仓库创建两个 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 测试体系持续演进
参与讨论