如果失败,拉取请求触发的 GitHub 操作不会锁定“合并”按钮

Posted

技术标签:

【中文标题】如果失败,拉取请求触发的 GitHub 操作不会锁定“合并”按钮【英文标题】:GitHub Actions triggered on pull request does not lock "Merge" Button if fails 【发布时间】:2021-08-05 00:00:00 【问题描述】:

大家好!

对于一个 python 应用程序,我设置了一个 GitHub 操作,该操作在每个 pull request 到 master 时运行 pytest(和其他工具)。

当工作流失败时,我在拉取请求页面的“检查”选项卡中看到它,但即使 GitHub 操作失败,我也可以合并我的分支:

在我的存储库,设置 -> 分支中,我创建了一个符合我需要的新保护规则,但我无法指定任何状态检查。

我要做的就是使用我的工作流程来允许(或禁止)根据工作流程的输出合并拉取请求。

有什么想法吗?

【问题讨论】:

您是 repo 的管理员吗?有a setting that allows admins to still merge if any checks fail - 除其他外。 是的,我是。我实际上考虑过这一点,但为了确保我添加了一个朋友作为简单的贡献者,他也能够合并。所以我认为这不相关。 【参考方案1】:

好的,所以正确的答案非常简单,但没有记录:

在创建分支保护规则时,您必须检查Require status checks to pass before merging (我这样做了),并且(我没有这样做)您必须通过在搜索栏中搜索来添加状态检查。

如果什么都没有出现,那是正常的。您必须搜索状态检查,这是您在 GitHub Action 上的工作名称!

【讨论】:

以上是关于如果失败,拉取请求触发的 GitHub 操作不会锁定“合并”按钮的主要内容,如果未能解决你的问题,请参考以下文章

VSTS GitHub拉取请求触发器未触发

在 Github 中合并拉取请求时触发 Jenkins 构建

取消操作运行,当拉取请求更改时

bitbucket 上的拉取请求不会触发竹子上的构建

Circle ci 触发构建拉取请求创建或更新

在拉取请求完成时隐藏 Github 操作