跳转至

关于 PR CI

持续集成 (Con­tin­u­ous in­te­gra­tion,简称 CI) 提供了配置非常不错的虚拟服务器环境,基于它可以进行构建、测试、打包、部署项目。

流程

  • 获取两个 approve;

  • 在 reviewer 中添加 bot:

1649669703474

  • 根据 bot 的提示添加 label。注意要选一下 automerge,表明 bot 在测试通过时会自动合并 pr 到 master。此外,提示信息中的 label 选一个就行了,而不是全选,这里有个傻子第一次添加 label 全选了 :sweat:

1649669272258

  • 等待 CI 结束……

注意事项

  • 如果是 bot 来 format 代码,那么出现如下提示之后需要重新添加 bot 之后才会继续跑 CI 流程

1649670072655

  • 当 CI 显示 queued 时,等待其执行结束即可,但是如果好几个小时还没有调度到 ci,则应该重新添加 bot

image

  • 如果 CI 显示 cancelled,查看 cancel 原因,常见的问题是长时间等待不到 GPU 资源而自动取消,此时需要重新添加 bot 或者 Rerun

image

  • 如果 CI 错误并且报错信息与自己的 pr 无关,尝试重新添加 bot。如果重新添加 bot 仍然出现同样错误,可以根据错误提示注释该部分代码。例如如下错误并不是自己 pr 导致的,可以尝试在服务器复现,复现不了的话可以先注释 test_crossformer_compatibility

image

  • 最近提交 CI 总是 canceled 请求不到资源,晓雨的经验是 别人合了 pr 之后你要第一个点 update,即收到 master 有 pr 合并了的邮件或者从 github 的 channel 看到有 pr 合并, 重新在自己 pr 添加 bot
  • 如果 pr 中有添加或者修改 docString,可以在合并 pr 前运行 ./python/oneflow/test/modules/test_functional_docstr.py 来检查文档是否有问题
Back to top