Prhub

#39887 [XPU][CI] Add misc, engine and lora cases on Intel GPU in CI

原始 PR 作者 zxd1997066 合并时间 2026-04-21 22:30 文件变更 5 提交数 6 评论 8 代码增减 +228 / -1

执行摘要

新增 Intel GPU 的 CI 测试配置,覆盖 misc、engine 和 lora 组件。

根据PR描述,目的是在CI中添加misc、engine和lora测试用例到Intel GPU,以验证这些组件在Intel硬件上的功能正确性,确保XPU平台的软件质量。

对于负责CI基础设施、测试或Intel GPU支持的工程师,建议浏览新增的YAML配置文件以了解测试组织方式和硬件特定调整;但变更主要涉及配置和脚本调整,无需深入源码精读,可重点关注review中讨论的风险点。

讨论亮点

review中,gemini-code-assist[bot]指出多个问题:在lora_intel.yaml中使用|| true掩码测试失败可能隐藏回归,建议改为显式deselect;在misc_intel.yaml中,source_file_dependencies列出的测试目录未在命令中执行,导致覆盖不全;还发现测试文件名拼写错误(如test_request.py应为test_requests.py)。jikunshang询问失败测试的原因,作者zxd1997066回应已提交内部Jira工单并分配给相关工程师。这些讨论凸显了CI配置的严谨性需求和故障跟踪机制。

实现拆解

  1. 新增CI作业配置文件

    • .buildkite/intel_jobs/目录下新增四个YAML文件:lora_intel.yamlmisc_intel.yamlengine_intel.yamlkernels_intel.yaml
    • 关键变更:每个文件定义一个CI作业组,指定依赖(如image-build-xpu)、设备类型(intel_gpu)、环境变量(如VLLM_TEST_DEVICE=xpu)和测试命令,使用bash .buildkite/scripts/hardware_ci/run-intel-test.sh执行pytest测试。
    • 原因:为Intel GPU创建独立测试流水线,避免与NVIDIA GPU测试冲突,并针对XPU环境优化测试执行。
    • 影响:在Buildkite CI中启用新的测试任务,自动运行相关组件测试,增强Intel平台的验证覆盖。
  2. 修改运行脚本

    • 文件:.buildkite/scripts/hardware_ci/run-intel-test.sh
    • 关键变更:在docker run命令中添加挂载卷-v ${HOME}/.cache/huggingface:/root/.cache/huggingface
    • 原因:加速测试中的模型下载和缓存,减少CI执行时间,提高效率。
    • 影响:所有使用此脚本的Intel GPU测试将共享Hugging Face缓存,可能影响缓存一致性和性能。
文件 模块 状态 重要度
.buildkite/intel_jobs/lora_intel.yaml CI 作业配置 added 5.83
.buildkite/intel_jobs/misc_intel.yaml CI 作业配置 added 5.13
.buildkite/intel_jobs/engine_intel.yaml CI 作业配置 added 5.01
.buildkite/intel_jobs/kernels_intel.yaml CI 作业配置 added 4.4
.buildkite/scripts/hardware_ci/run-intel-test.sh 部署脚本 modified 2.78

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

评论区精华

使用 `|| true` 掩码测试失败 测试

gemini-code-assist[bot] 指出在 lora_intel.yaml 中使用 `|| true` 可能隐藏测试失败,建议改为显式 deselect 以避免掩盖回归。

结论:作者未直接修改配置,但回应已提交内部 Jira 工单跟踪失败原因,问题未解决。 · unresolved

source_file_dependencies 与命令不匹配 测试

gemini-code-assist[bot] 发现 misc_intel.yaml 中 source_file_dependencies 列出的测试目录(如 v1/core)未在 commands 中执行,导致测试覆盖不全。

结论:未解决,配置可能存在遗漏,影响测试完整性。 · unresolved

测试文件名拼写错误 style

gemini-code-assist[bot] 指出 misc_intel.yaml 中测试文件名应为 test_requests.py 和 test_output.py,但配置中写为 test_request.py 和 test_outputs.py,可能导致测试漏跑。

结论:未解决,typo 可能影响测试执行正确性。 · unresolved

风险与影响

技术风险包括:

  1. 测试覆盖不全:如misc_intel.yaml中依赖的v1/core等目录未执行,可能导致Intel GPU特定问题未被检测。
  2. 错误掩码风险:|| true使用在测试命令中可能掩盖失败,导致回归未被及时发现。
  3. 配置不一致:文件名拼写错误(如test_outputs.py应为test_output.py)可能导致测试漏跑。
  4. 脚本修改风险:新增挂载卷可能引入路径或权限问题,影响CI环境稳定性。

对系统:增强了Intel GPU平台的CI测试覆盖,有助于早期发现兼容性问题,提升软件质量和可靠性。对团队:简化了Intel GPU的测试执行流程,但需要维护额外配置文件和关注特定硬件失败案例,增加了CI管理复杂度。对用户:间接受益于更稳定的XPU支持,但无直接功能影响。

测试覆盖不全 错误掩码风险 配置不一致

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论