跳到内容

CI 故障

如果您想为 Intel® Gaudi® 的 vLLM 硬件插件项目做出贡献,请熟悉我们的流程,以了解自动化测试和集成是如何处理的。

CI 验证

vllm-gaudi 仓库中创建的拉取请求需要以下 CI 检查

  • 提交前和 DCO
  • HPU 测试
  • HPU Intel® Gaudi® 测试

提交前和 DCO

我们使用 pre-commit hook 来确保每个提交在添加到仓库之前都符合某些标准。要安装它,请运行此命令

pre-commit install

这可确保您所有的提交都经过正确格式化并签核。如果您需要手动签核您的提交,请使用 git commit -s 来通过 DCO。

HPU 测试

HPU 测试包含以下测试

  • 预合并测试
  • 单元测试
  • 性能测试
  • 功能测试
  • 端到端测试

所有这些测试都是强制性的,并以快速失败模式运行,这意味着如果一个测试失败,下一个测试将不会被触发。

HPU Intel® Gaudi® 测试

预期的其他 Intel® Gaudi® 测试应通过,但不是强制性的。只有代码所有者和测试所有者可以在内部 Jenkins 系统上运行这些测试。结果是内部的。

文档验证

所有不影响代码的拉取请求,例如文档更改或 README 更新,都可以无需 HPU 测试和 Intel® Gaudi® 测试进行合并。但是,它们需要通过提交前检查。

每小时检查和测试

vllm-gaudi 仓库中,可以在 Actions 选项卡下的 Hourly Commit Check and Tests 中找到每小时测试。此选项卡还允许开发人员手动触发所选分支上的每小时测试。

如果最后一次每小时测试失败,则表示 main 分支与上游 main 分支的最新提交不兼容。要查找最后一次成功的提交,请参阅 最后一次成功的提交。开发人员会尽快修复失败的每小时检查。

故障排除

请遵循这些说明来修复常见的 CI 故障问题。

不相关的故障

有时您可能会看到与您的代码更改无关的问题,这些问题通常是由临时的连接问题引起的。这些问题会触发错误,例如以下错误

Error response from daemon: No such container

ValueError: Unsupported device: the device type is 7.

[Device not found] Device acquire failed.

如果您看到此类错误,只需重新运行失败的检查即可。

准确性和功能性问题

准确性问题可以在 HPU Intel® Gaudi® 测试中通过 gsm8k 运行来跟踪。如果在拉取请求中检测到任何功能性或准确性问题,例如与测量值相比准确性过低,则在问题解决之前无法合并。

提交前故障

要手动运行提交前测试,请使用以下命令

pre-commit run --show-diff-on-failure --color=always --all-files --hook-stage manual