CI 故障¶
如果您想为 Intel® Gaudi® 的 vLLM 硬件插件项目做出贡献,请熟悉我们的流程,以了解自动化测试和集成是如何处理的。
CI 验证¶
在 vllm-gaudi 仓库中创建的拉取请求需要以下 CI 检查
- 提交前和 DCO
- HPU 测试
- HPU Intel® Gaudi® 测试
提交前和 DCO¶
我们使用 pre-commit hook 来确保每个提交在添加到仓库之前都符合某些标准。要安装它,请运行此命令
这可确保您所有的提交都经过正确格式化并签核。如果您需要手动签核您的提交,请使用 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 运行来跟踪。如果在拉取请求中检测到任何功能性或准确性问题,例如与测量值相比准确性过低,则在问题解决之前无法合并。
提交前故障¶
要手动运行提交前测试,请使用以下命令