CI 构建失败¶
当我的PR上的CI作业失败时,但我认为我的PR不是导致失败的原因,我该怎么办?
-
查看当前CI测试失败的仪表盘:
👉 CI Failures Dashboard -
如果你的失败已经列出,很可能与你的PR无关。我们始终欢迎帮助修复这些问题!
- 留下评论并附上其他失败案例的链接。
- 点击👍反应来表示受影响的人数。
-
如果你的问题未在列表中列出,你应该提交一个issue。
提交CI测试失败问题¶
-
提交错误报告:
👉 新建CI故障报告 -
使用以下标题格式:
-
环境字段说明:
-
在描述中包含失败的测试:
-
附加日志 (可折叠区域示例):
日志:
ERROR 05-20 03:26:38 [dump_input.py:68] 正在转储输入数据 --- 日志错误 --- 回溯 (最近一次调用): 文件 "/usr/local/lib/python3.12/dist-packages/vllm/v1/engine/core.py", 第203行, 在execute_model中 return self.model_executor.execute_model(scheduler_output) ... FAILED failing/test.py:failing_test1 - 失败描述 FAILED failing/test.py:failing_test2 - 失败描述 FAILED failing/test.py:failing_test3 - 失败描述
日志整理¶
从Buildkite本地下载完整的日志文件。
去除时间戳和颜色标记:
.buildkite/scripts/ci-clean-log.sh
使用工具 wl-clipboard 实现快速复制粘贴:
排查CI测试失败问题¶
- 前往 👉 Buildkite 主分支
- 二分查找以定位首次出现问题的构建版本。
- 将您的发现添加到GitHub问题中。
- 如果发现一个强有力的候选PR,请在issue中提及并@相关贡献者。
复现故障¶
CI测试失败可能是偶发性的。使用bash循环重复运行:
.buildkite/scripts/rerun-test.sh
提交PR¶
如果您提交PR以修复CI失败:
- 将PR关联到问题:在PR描述中添加
Closes #12345。 - 添加
ci-failure标签:这有助于在 CI Failures GitHub Project 中进行跟踪。
其他资源¶
每日分类¶
- 识别在
main分支上最近的测试失败情况。 - 在PR中排除合法的测试失败。
- (可选) 忽略可靠性为0%的测试。
与CI故障仪表板进行对比。