在PR上的CI测试工作流程#

本指南帮助贡献者理解在PR上的持续集成(CI)工作流程。这里的CI指的是在PR上对代码库进行自动化测试。

microcheck: 对您的PR进行默认测试#

在您的PR上的每次提交,默认情况下,我们将运行一组名为 microcheck 的测试。

这些测试旨在在仅运行完整测试套件的10%的情况下,捕捉到您PR中90%的错误。因此,microcheck通常比完整测试套件快两倍,成本也低两倍。microcheck的一些显著特点包括:

  • 如果在拉取请求中添加了新测试或修改了现有测试,microcheck 将确保这些测试被包含在内。

  • 您可以通过在您的 git 提交消息的主体中包含以下行来手动向 microcheck 添加更多测试:@microcheck TEST_TARGET01 TEST_TARGET02 ....。此行必须位于消息的主体中,从第二行或以下开始(第一行是提交消息的标题)。例如,以下是我如何在拉取请求中手动添加测试:

    // 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>
    

如果微检查通过,你会在你的PR上看到一个绿色的勾号。如果失败,你会看到一个红色的叉号。无论哪种情况,你都会在github UI中看到测试运行状态的摘要。

合并时的额外测试#

在这个工作流程中,要合并你的PR,只需点击启用自动合并按钮(或请求提交者这样做)。这将触发额外的测试用例,一旦它们完成并通过,PR将自动合并。

另外,你也可以在PR中添加一个 go 标签来手动触发完整的测试套件(请注意,这不太推荐,但我们理解你最清楚你的PR的需求)。虽然我们预计这种情况会很少见,但如果你确实需要经常这样做,请告诉我们。我们正在不断改进微检查的有效性。