PR 上的 CI 测试工作流#
本指南旨在帮助贡献者理解 PR 上的持续集成 (CI) 工作流。这里的 CI 指的是对 PR 中的代码库进行的自动化测试。
microcheck:PR 上的默认测试#
对于 PR 中的每个提交,我们默认会运行一组称为 microcheck 的测试。
这些测试的设计能够 90% 的准确率捕获 PR 中的 bug,同时仅运行完整测试套件的 10%。因此,microcheck 的运行速度和成本通常是完整测试套件的两倍。microcheck 的一些显著特点是:
如果 pull request 中添加了新测试或修改了现有测试,microcheck 将确保这些测试被包含在内。
您可以通过在 git 提交消息正文中包含以下行,手动向 microcheck 添加更多测试:
@microcheck TEST_TARGET01 TEST_TARGET02 ....。此行必须在消息正文中,从第二行或更低开始(第一行是提交消息标题)。例如,以下是我如何在 pull request 中手动添加测试的方式:// git command to add commit message git commit -a -s // content of the commit message run other serve doc tests @microcheck //doc:source/serve/doc_code/distilbert //doc:source/serve/doc_code/object_detection //doc:source/serve/doc_code/stable_diffusion Signed-off-by: can <can@anyscale.com>
如果 microcheck 通过,您将在 PR 上看到绿色的勾号。如果失败,您将看到一个红色的叉号。无论哪种情况,您都将在 github UI 中看到测试运行状态的摘要。
合并时的附加测试#
在此工作流中,要合并您的 PR,只需点击“启用自动合并”按钮(或请求提交者执行此操作)。这将触发附加的测试用例,并在它们完成后并通过后自动合并 PR。
或者,您也可以添加一个 go 标签来手动触发 PR 上的完整测试套件(请注意,这不太推荐,但我们理解您最了解您 PR 的需求)。虽然我们预计这很少需要,但如果您经常需要它,请告诉我们。我们正在不断提高 microcheck 的有效性。