Prhub

#7066 [ci] chore: fix npu and gpu ci

原始 PR 作者 wucong25 合并时间 2026-07-16 19:48 文件变更 5 提交数 3 评论 1 代码增减 +5 / -3

执行摘要

修复 GPU 与 Ascend CI 工作流依赖配置

CI 工作流中某些 job 缺少显式依赖,导致 Megatron 策略测试可能在 FSDP2 测试尚未完成时启动或跳过,影响 CI 正确性和资源利用效率。PR body 中明确提到“fix ci npu”,表明主要目的是修复 NPU CI 问题。

该 PR 是典型的 CI 维护操作,价值在于使 CI 流水线更加健壮。建议通读变更以了解工作流依赖管理实践,可作为相似 CI 修复的参考。

讨论亮点

该 PR 没有显著的 review 讨论。发起者 wucong25 提交后由 wuxibin89 直接批准,无评论互动。

实现拆解

  1. 调整 GPU 工作流依赖:在 e2e_fully_async_policy.yml 和 e2e_one_step_off_policy.yml 中,修改 Megatron 策略测试 job 的 needs 字段,从仅依赖 setup 改为依赖 [setup, e2e_fully_async_policy_fsdp2] 和 [setup, e2e_one_step_off_policy_fsdp2],确保执行顺序。
  2. 调整 Ascend 工作流依赖:在 e2e_fully_async_policy_ascend.yml 和 e2e_one_step_off_policy_ascend.yml 中,为 Megatron 策略测试 job 新增 needs: e2e_fully_async_policy_fsdp2_ascend 和 needs: e2e_one_step_off_policy_fsdp2_ascend,确保对应 FSDP2 测试先行完成。
  3. 更新 NPU 单元测试排除列表:在 npu_unit_tests.yml 中,在 pytest -k 参数中追加 and not test_sender_accepts_strided_tensor,跳过该已知失败的测试用例。
文件 模块 状态 重要度
.github/workflows/e2e_fully_async_policy.yml CI modified 2.95
.github/workflows/e2e_one_step_off_policy.yml CI modified 2.95
.github/workflows/e2e_fully_async_policy_ascend.yml CI modified 2.81
.github/workflows/e2e_one_step_off_policy_ascend.yml CI modified 2.81
.github/workflows/npu_unit_tests.yml CI modified 2.38

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

评论区精华

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

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

风险与影响

风险极低。变更仅涉及 CI 配置(.github/workflows/*.yml),不涉及任何源码逻辑。唯一的风险是若新的依赖关系导致循环依赖或阻塞,但此处新增的依赖均为已知存在的 job,不会引入循环。

影响范围仅限于 CI 流水线。GPU 和 Ascend 上的 Megatron 策略测试将不再并行于 FSDP2 测试启动,而是等待其完成,保证了测试顺序。同时 NPU 单元测试跳过了一个已知失败的用例,减少 CI 噪音。

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论