Prhub

#6275 [ci] chore: slim down TRT-LLM CI

原始 PR 作者 Superjomn 合并时间 2026-05-08 19:34 文件变更 2 提交数 2 评论 1 代码增减 +4 / -87

执行摘要

精简 TRT-LLM CI,合并测试任务并移除冗余 job

per reviewer feedback, simplify the TRT-LLM CI: merge trtllm_async_unit_tests into trtllm_unit_tests by adding test_trtllm_abort.py to the existing pytest invocation... Drop the e2e_grpo_trainer_fsdp-qwen2 job; FSDP coverage with TRT-LLM rollout is no longer required (Megatron variants remain). Saves one runner per workflow run and consolidates trtllm unit tests into a single job with broader trigger coverage.

值得快速合并,属于基础 CI 清理工作,无功能性变更。建议后续关注 FSDP + TRT-LLM 的测试覆盖是否需单独补充,以及观察拆分后的单元测试是否仍有稳定性问题。

讨论亮点

无 review 评论。

实现拆解

  1. 合并单元测试 job:在 e2e_fully_async_policy_trtllm.yml 中删除原有的 trtllm_async_unit_tests job,将 test_trtllm_abort.py 的测试步骤添加到 trtllm_unit_tests job 中(在 e2e_ppo_grpo_trainer_trtllm.yml 的 pytest 调用后新增 pytest -v -s --durations=20 tests/workers/rollout/rollout_trtllm/test_trtllm_abort.py)。
  2. 移除 FSDP E2E job:删除 e2e_ppo_grpo_trainer_trtllm.yml 中的 e2e_grpo_trainer_fsdp-qwen2 job 及其所有步骤,因为 FSDP 与 TRT-LLM 的测试覆盖不再需要,Megatron 变体已足够。
  3. 清理触发路径:从 e2e_ppo_grpo_trainer_trtllm.ymlpull_request 路径列表中移除 examples/grpo_trainer/run_qwen3_8b_fsdp.sh,避免该文件变更触发不必要的 CI 运行。
  4. 更新依赖列表:在 e2e_fully_async_policy_trtllm.yml 的 cleanup job 的 needs 中移除已删除的 trtllm_async_unit_tests job。
  5. 修复合并后的测试冲突:在第二个 commit 中,由于 test_trtllm_abort.pytest_async_server.py 等在同一个 Python 进程中执行时因反复 ray.init/ray.shutdown 加载 TRT-LLM 模型导致 SIGSEGV,因此将测试拆分为两个独立的 pytest 调用。
文件 模块 状态 重要度
.github/workflows/e2e_ppo_grpo_trainer_trtllm.yml CI 配置 modified 4.78
.github/workflows/e2e_fully_async_policy_trtllm.yml CI 配置 modified 4.2

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

评论区精华

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

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

风险与影响

  1. 测试稳定性风险:首次合并 test_trtllm_abort.py 到同一个 pytest 进程时出现 SIGSEGV (exit 139),已在第二次 commit 拆分为单独调用得到解决,但需关注未来是否还有其他跨文件测试冲突。
  2. 覆盖完整性风险:移除了 e2e_grpo_trainer_fsdp-qwen2 job,如果后续 FSDP + TRT-LLM 的兼容性出现回归,可能无法及时发现。PR 说明 Megatron 变体已足够覆盖,但长期仍需确保其他 FSDP 场景(如其他模型)的测试。
  1. CI 资源节省:每次 workflow 运行减少一个 runner,预计减少约 30-40% 的 TRT-LLM CI 计算成本。
  2. 测试覆盖维持:单元测试仍覆盖了 trtllm_abort、async_server、inter_node_rollout、rollout_utils 等关键模块;E2E 测试保留了 Megatron 变体,基本覆盖了主要用例。
  3. 维护简化:合并后只需维护一个单元测试 job,触发路径更清晰。
缺少测试覆盖 SIGSEGV 历史问题

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论