如何在Github actions中自动拒绝拉取请求,如果测试失败

59

当使用Github actions时,我正在进行npm测试。

  • 现在如果测试失败,
  • 我想添加一条消息,
  • 或者至少使用actions拒绝该PR。

我该如何做到这一点?

2个回答

83
我假设您已经有一个运行`npm test`的`on: pull_request`工作流。 这应该会自动在拉取请求上创建一个GitHub检查,并在测试失败时失败。 "拒绝"拉取请求的最佳方法是仅当测试通过时才允许合并。 您可以通过打开存储库中的设置来执行此操作,然后将“要求通过状态检查后再次合并”设置为必需,并选择您的工作流程。
您可以在存储库的“设置”>“分支”下找到此设置。 require status checks 有关这些设置的详细信息,请参阅文档。 https://help.github.com/en/github/administering-a-repository/enabling-required-status-checks

39
请注意,除非您拥有 GitHub Pro,否则私有存储库中不提供分支保护。 - Tomer Shemesh
8
您是否知道为什么“on: pull_request”工作流程不会显示在列表中?该工作流会在创建新的pull request时运行,但无论其是否成功运行,合并操作都可以执行。 ‍♂️ - Crono
5
请确认您使用的是工作ID(在yml文件中的工作名称)进行搜索,@Crono。 - Farhan Haider
2
在我的情况下,YAML 的路径没有出现在建议中。只有单个作业的名称出现。也就是说,我想将整个工作流程作为状态检查,但我只能逐个添加工作流程中的单个作业。 - Utku
3
如果没有显示任何操作,请按照以下步骤操作:https://dev59.com/-lEG5IYBdhLWcg3wS5V2#68613319 - Castaldi
显示剩余5条评论

3
在状态检查栏中,输入您在工作流yml文件中定义的操作名称,然后合并将检查您定义的工作流操作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接