Prhub

#37882 [CI] split Entrypoints Integration (API Server 1) into 3 jobs

原始 PR 作者 jikunshang 合并时间 2026-03-24 01:37 文件变更 1 提交数 2 评论 2 代码增减 +31 / -3

执行摘要

拆分 Entrypoints 集成测试 CI 作业为三个并行作业,以缩短总运行时间。

PR body中说明:'split Entrypoints Integration (API Server 1) takes 1.5 hour currently. split this into 3 jobs.',目的是缩短CI运行时间,提升开发流程效率,测试结果显示拆分后各作业运行时间在28-41分钟之间。

对于CI维护者和测试工程师值得精读,了解如何优化测试作业拆分和并行化策略;一般开发者可快速浏览以确认无测试覆盖问题,但变更较机械,技术洞察有限。

讨论亮点

review中gemini-code-assist[bot]指出两个问题:

  • Part 2作业缺少export VLLM_WORKER_MULTIPROC_METHOD=spawn环境变量,可能导致测试不一致或失败。
  • Part 1作业的tests/entrypoints/test_chat_utils依赖不必要,应移除以优化CI触发。
    这些建议在后续更新中被采纳,khluu批准了PR。

实现拆解

修改了.buildkite/test_areas/entrypoints.yaml文件:

  1. 将原作业'Entrypoints Integration (API Server 1)'拆分为三个新作业:'Entrypoints Integration (API Server openai - Part 1/2/3)'。
  2. 每个作业指定不同pytest命令:Part 1专注chat_completion测试,Part 2专注completion和speech_to_text测试,Part 3运行剩余openai测试。
  3. 设置超时为50分钟,并调整环境变量(如VLLM_WORKER_MULTIPROC_METHOD)和文件依赖。
文件 模块 状态 重要度
.buildkite/test_areas/entrypoints.yaml CI/ 测试基础设施 modified 4.0

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

评论区精华

Part 2 作业缺少 VLLM_WORKER_MULTIPROC_METHOD 环境变量 正确性

gemini-code-assist[bot] 指出:'This job is missing `export VLLM_WORKER_MULTIPROC_METHOD=spawn`. Its absence could lead to inconsistent test behavior or failures.'

结论:应在 Part 2 中添加 export 命令以确保测试一致性,后续更新中已修复。 · 已解决

Part 1 作业的不必要文件依赖 设计

gemini-code-assist[bot] 建议:'The `tests/entrypoints/test_chat_utils` dependency seems unnecessary for this job, as the tests from this file are run in `Part 2`. Removing it will prevent this job from being triggered unnecessarily.'

结论:应移除该依赖以优化 CI hygiene,后续更新中已调整。 · 已解决

风险与影响

主要风险是环境变量缺失可能导致测试行为不一致或失败,但已在review中识别并修复。拆分后需确保测试覆盖完整,无遗漏或重复,否则可能引入回归风险。文件依赖调整不当可能影响CI触发逻辑。

对团队:CI运行时间从1.5小时缩短至约100分钟(三个作业并行),提升开发效率和反馈速度。对系统:仅改变测试执行方式,不影响核心功能。对用户:无直接影响。

环境变量缺失 测试覆盖完整性

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论