我一直在与github api一起玩,如果提交状态标记为失败,则不允许拉动请求合并。
我遇到了这个问题,说我有5个提交(最近 - 租赁(
- commit1:状态 - 失败
- commit2:状态 - 失败
- commit3:状态 - 失败
- commit4:状态 - 失败
- commit5:状态 - 成功
只要最新的公关提交在不应该的情况下具有"成功"状态,则允许合并。
只要最近的提交也是失败的,失败/成功的任何组合都将不允许合并。
大多数CI系统都采用他们整体测试拉动请求的方法,并且只要拉动请求现在起作用(即通过(,则拉动请求是可以接受的。
但是,有些项目像git这样的项目必须独立通过测试才能允许双配置。如果您的项目是其中之一,则需要明确配置CI系统以测试分支中的每个提交。大多数系统允许您查询基本或目标分支,然后您可以调用git rebase -x "BUILD-AND-RUN-COMMAND" $BASE_BRANCH
(根据CI系统设置$BASE_BRANCH
(以验证每个提交是否独立通过。
编辑:如果您要实现每个提交必须通过的系统,只需找到您从github获得的基本分支,然后将支票应用于每个提交在公关通行证中。这与GitHub报告状态的方式最一致,这也与GitHub提供的合并检查一致。