Prhub

#56704 [XPU][CI] update test requirements

原始 PR 作者 zhenwei-intel 合并时间 2026-09-14 10:01 文件变更 2 提交数 2 评论 3 代码增减 +23 / -15

执行摘要

XPU 测试依赖对齐 cuda.in,修复 gpt-oss-20b CI 失败

PR body 明确指出目的:align xpu test requirements with cuda.in resolve this ci error。在 Buildkite Intel CI(build 11197)上有 3 个测试失败:entrypoints/openai/responses/test_harmony.py::test_code_interpreter[openai/gpt-oss-20b]、test_mcp_tool_multi_turn[openai/gpt-oss-20b],以及 entrypoints/openai/responses/test_mcp_tools.py::TestMCPEnabled::test_mcp_tool_env_flag_enabled[openai/gpt-oss-20b]。三个失败用例的共同点是参数化 openai/gpt-oss-20b 模型,说明 xpu.in 中 gpt-oss[eval]==0.0.5 的旧版本与 CUDA 侧测试依赖矩阵发生漂移,导致工具调用与 MCP 相关测试在 XPU 环境无法正确执行。

不值得精读,可作为 vLLM 平台化测试依赖管理的快速参考。值得关注的要点:requirements/test 下按平台拆分 .in 文件的做法、gpt-oss 这类模型评估包通过版本下限加环境标记(python_version、platform_machine)做条件安装的写法,以及 .in 与 .txt 的分工(源声明与编译产物)。后续接手 XPU CI 维护时,应保持 xpu.in 与 cuda.in 的同步习惯。

讨论亮点

本次 review 过程非常简短,没有实质性技术争论:

  • claude[bot] 提示该 PR 来自 fork,自动 review 被禁用,维护者可评论 @claude review 触发一次性审查。
  • 作者 @zhenwei-intel 请求 @jikunshang PTAL 后,维护者回复 /ci run 触发 Buildkite CI #88698,github-actions[bot] 确认在 commit 3831fa72759b 上运行。
  • jikunshang 最终 APPROVED,原话为 thanks for fixing。

实现拆解

变更入口是 requirements/test/xpu.in,xpu.txt 由其经 pip-compile 重新编译生成。具体步骤:

  1. gpt-oss 升级并条件化:将 gpt-oss[eval]==0.0.5 改为 gpt-oss >= 0.0.7; python_version > '3.11'。去掉 eval extra 并抬高版本下限,同时限定 Python 版本,避免旧版 Python 环境安装无关依赖;这是修复 gpt-oss-20b 相关测试失败的关键动作。
  2. 版本下限补齐:schemathesis>=4.0.0(openai schema 测试需要)、timm>=1.0.17(internvl 与 gemma3n-mm 测试需要)、mistral-common[image,audio]>=1.11.6(voxtral 测试需要),每项均附带注释说明用途,防止后续被误降级。
  3. 平台条件约束:decord==0.6.0 追加 platform_machine == "x86_64" 条件,避免非 x86_64 平台因缺少 wheel 安装失败。
  4. 重新生成锁定文件:xpu.txt 将 gpt-oss 锁定到 0.0.9,并带入 jupyter-client、jupyter-core、tornado、traitlets 等传递依赖,同时清理旧版 gpt-oss 的残留引用注释。

配套说明:无新增测试用例、无部署变更;两个 commit 中第二个为 merge main 的常规同步。

文件 模块 状态 重要度
requirements/test/xpu.in 测试依赖 modified 4.27
requirements/test/xpu.txt 测试依赖 modified 3.08

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

评论区精华

fork PR 自动 review 禁用 other

claude[bot] 提示该 PR 来自 fork,自动 review 被禁用,维护者可评论 @claude review 触发一次性审查。

结论:维护者 jikunshang 手动审批通过(thanks for fixing.),未启用自动 review。 · 已解决

CI 验证流程 测试

作者 @zhenwei-intel 请求 @jikunshang PTAL,维护者回复 /ci run 触发 Buildkite CI #88698,github-actions[bot] 确认在 commit 3831fa72759b 上运行。

结论:CI 在 head commit 上运行通过后 PR 被合并。 · 已解决

风险与影响

  1. 平台条件依赖:decord 限定仅 x86_64 安装后,非 x86_64 的 CI runner 将缺少该包;若相关视频解码测试没有 skip 防护,会直接出现 ModuleNotFoundError,需确认测试侧已有对应跳过逻辑。
  2. Python 版本条件:gpt-oss 仅在 python_version > '3.11' 时安装,若 XPU CI 环境回退到 Python 3.10 及以下,gpt-oss-20b 相关测试仍会失败;本次 CI 通过以 3.11+ 环境为前提。
  3. 依赖升级传递风险:gpt-oss 0.0.7+ 引入 jupyter-client、jupyter-core、tornado、traitlets 等新传递依赖,未来与其它平台锁文件解析时可能产生版本冲突;本次 xpu.txt 已成功解析,但需与 cuda.txt 保持同步更新节奏。
  4. 运行时风险:无。变更不触碰 vllm 产品代码路径。
  • 用户:无直接影响,纯 CI 测试依赖基础设施调整。
  • 系统:修复 Intel Buildkite 上 3 个 gpt-oss-20b 相关测试失败,XPU 测试矩阵与 CUDA 侧重新对齐。
  • 团队:Intel CI 维护者后续需沿用统一模式:在 xpu.in 声明依赖并注释原因,再重新编译 xpu.txt;其他平台开发者也可参考本 PR 的分平台依赖写法(platform_machine、python_version 条件)。
平台条件依赖 Python 版本条件限制 依赖升级传递风险 测试依赖漂移

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论