GitHub状态:状态失败,但仍可以合并受保护的分支

时间:2019-06-26 19:11:05

标签: github git-merge github-api github-api-v3

我一直在使用Github API,如果提交状态标记为失败,则不允许合并请求请求。

我遇到这个问题,说如果我有5次提交(最近一次-租约)

  • commit1:状态-失败
  • commit2:状态-失败
  • commit3:状态-失败
  • commit4:状态-失败
  • commit5:状态- 成功

只要最近的PR提交不应该具有“成功”状态,就允许合并。

失败/成功的任何组合都不允许合并,因为最近的提交也是失败的。

1 个答案:

答案 0 :(得分:0)

大多数CI系统采用的方法是测试整个拉取请求,只要当前的拉取请求能够正常工作(即通过),那么拉取请求就可以接受。

但是,在Git之类的项目中,每次提交都必须独立通过测试才能实现二分法。如果您的项目是其中之一,则需要显式配置CI系统以测试分支中的每个提交。大多数系统都允许您查询基础分支或目标分支,然后可以调用git rebase -x "BUILD-AND-RUN-COMMAND" $BASE_BRANCH(根据CI系统设置$BASE_BRANCH)来验证每个提交是否独立通过。

编辑:如果您要实施一个必须通过每个提交的系统,只需找到从GitHub获得的基础分支并将检查应用于每个提交,然后在且仅当所有提交都报告成功在PR通行证中这与GitHub报告状态的方式最一致,也与GitHub提供的合并检查一致。