我一直在使用Github API,如果提交状态标记为失败,则不允许合并请求请求。
我遇到这个问题,说如果我有5次提交(最近一次-租约)
只要最近的PR提交不应该具有“成功”状态,就允许合并。
失败/成功的任何组合都不允许合并,因为最近的提交也是失败的。
答案 0 :(得分:0)
大多数CI系统采用的方法是测试整个拉取请求,只要当前的拉取请求能够正常工作(即通过),那么拉取请求就可以接受。
但是,在Git之类的项目中,每次提交都必须独立通过测试才能实现二分法。如果您的项目是其中之一,则需要显式配置CI系统以测试分支中的每个提交。大多数系统都允许您查询基础分支或目标分支,然后可以调用git rebase -x "BUILD-AND-RUN-COMMAND" $BASE_BRANCH
(根据CI系统设置$BASE_BRANCH
)来验证每个提交是否独立通过。
编辑:如果您要实施一个必须通过每个提交的系统,只需找到从GitHub获得的基础分支并将检查应用于每个提交,然后在且仅当所有提交都报告成功在PR通行证中这与GitHub报告状态的方式最一致,也与GitHub提供的合并检查一致。