Prhub

#40683 [XPU][CI]Temporary disable 3 cases on Intel GPU in CI

原始 PR 作者 zxd1997066 合并时间 2026-04-23 21:42 文件变更 1 提交数 2 评论 4 代码增减 +3 / -3

执行摘要

临时禁用 Intel GPU CI 中三个失败的 LoRA 测试

当前 Intel GPU(XPU)上的 LoRA 测试因底层内核版本限制导致三个用例失败,PR body 明确说明这是临时措施,待内核升级至 v0.1.7 后恢复测试。Issue 评论中 maintainer jikunshang 也确认了相同计划。

该 PR 为典型的临时 CI 修复,技术含量低,不建议精读。但值得注意其模式:通过 --deselect + || true 快速冻结不稳定测试,同时保留测试框架。建议维护者设置一个提醒/Issue 跟踪内核升级进度,并在升级后及时回退此配置。

讨论亮点

gemini-code-assist[bot]:指出 || true 会掩盖所有测试失败,而不仅仅是跳过的用例,建议去掉 || true 以让 CI 正确捕获意外失败。
结论:PR 作者和维护者未采纳该建议,仍保留了 || true。这可能是已知问题——这些文件中除跳过的三个用例之外的其他用例也可能因内核版本不稳定而失败,使用 || true 是快速冻结 CI 的实用选择。
未采纳 review 意见,反映出在临时禁用场景下,团队更看重 CI 稳定性而非测试严格性。

实现拆解

  1. 修改 LoRA 基础测试步骤:在 .buildkite/intel_jobs/lora_intel.yaml 第 23 行,将 test_lora_functions.py 的运行命令改为 (pytest -v -s lora/test_lora_functions.py --deselect="...test_lora_functions_sync" --deselect="...test_lora_functions_async" || true),同时跳过两个函数测试并用 || true 防止意外失败中断流水线。

  2. 修改多模态 LoRA 测试步骤:在第 128-129 行,将 test_qwen3_unembed.pytest_qwenvl.py 的运行命令包裹 || true,但实际只有 test_qwen3_unembed.py 中的 test_qwen3_unembed_lora 用例被跳过(通过 --deselect),其他用例仍会运行。|| true 确保即使非跳过测试失败也不阻断,设计上稍显不精确。

  3. 仅修改配置文件:全部变更集中在 CI 配置中,不涉及任何源代码或测试文件改动。两个 commit(第一个禁用函数测试,第二个补充 Qwen 测试跳过)体现了逐步发现问题的过程。

文件 模块 状态 重要度
.buildkite/intel_jobs/lora_intel.yaml CI 配置 modified 3.2

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

评论区精华

`|| true` 掩盖测试失败风险 测试

gemini-code-assist[bot] 指出 `|| true` 会掩盖所有潜在的测试失败,而不仅仅是跳过的用例,可能导致回归被忽视。建议去掉 `|| true` 以让 CI 正确捕获意外失败。

结论:PR 作者和维护者未采纳此建议,仍保留了 `|| true`。可能是考虑到这些文件中其他测试也存在因内核不稳定的潜在失败,使用 `|| true` 是快速稳定 CI 的实用选择。 · 已解决

风险与影响

  1. 测试覆盖缺失风险:三个被跳过的测试(特别是 test_qwen3_unembed_lora)覆盖了 Qwen 模型的解嵌入层 LoRA 功能,以及 LoRA 函数的同步/异步执行路径。禁用后这些功能在 Intel GPU 上无测试覆盖,可能隐藏回归。
  2. || true 掩盖错误风险:即使非跳过的测试失败,CI 也会标记为通过,可能导致其他测试回归被忽略。虽然当前是临时措施,但一旦忘记回退,风险将持续。
  3. 兼容性隐患:Qwen 模型是多模态关键模型,LoRA 功能的测试缺口可能影响下游服务的可靠性。

影响范围:仅影响 Intel GPU(XPU)CI 流水线中的 LoRA 测试环节,不影响用户生产环境、其他硬件平台或源代码行为。
影响程度:低。这是一个纯 CI 配置变更,不修改任何运行时逻辑,且明确为临时措施。但长期来看,若回退被延迟,可能降低 Intel GPU 上 LoRA 功能的测试信心。
团队影响:一线维护者知情并同意(jikunshang 批准),后续内核升级后需有人负责回退。

测试覆盖缺失 CI 掩盖错误风险 临时措施可能被遗忘

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论