使用 TVM 的 CI
TVM 用 Jenkins 在 分支上运行 Linux 持续集成(CI)测试,并通过 Jenkinsfile 中指定的构建配置 pull request。Windows 和 MacOS 的非关键任务在 GitHub Actions 中运行。
本页描述了贡献者和 committer 如何用 TVM 的 CI 来验证代码。可通过 tlc-pack/ci 仓库了解有关 TVM CI 设计的更多信息。
对 Contributor 而言
Jenkins 的 BlueOcean 查看器 中的标准 CI 运行如下所示。 CI 运行通常需要几个小时才能完成,并且在 CI 完成之前无法 merge pull request(PR)。要诊断失败的步骤,请单击 failing pipeline stage,然后单击 failing step 来查看输出日志。
调试失败
当 CI 由于某种原因失败时,诊断问题的方法有如下几种。
Jenkins 日志
失败了首先按照失败作业上的红色 X 查看 CI 日志。注意:
- Jenkins 默认不显示完整日志,在日志查看器的顶部有一个“Show complete log”按钮,点击可以查看纯文本日志。
pytest
失败总结在日志的底部,但可能需要向上滚动查看,才能知道失败的实际原因。
重现失败
大多数 TVM Python 测试可以按照 Testing 中的描述在 pytest
下运行。
提交 Issue
在 GitHub 上报告 CI 的 issue,应该提供相关工作、commit 或 PR 的链接。
对 Maintainer 而言
本节讨论 TVM maintainer 的工作流程。