当拉取请求基础分支更新时如何重新运行 Github Actions 工作流程

问题描述 投票:0回答:3

当拉取请求的基础分支有新代码推送时,是否可以触发 Github Actions 工作流程?

举例说明:拉取请求分支是feature1,基础是development,那么当PR打开后开发分支更新了新代码时,是否可以触发feature1分支PR上的工作流程?

github github-actions pull-request
3个回答
4
投票

目前没有触发器可以让您执行此操作。然而,GitHub 的分支保护规则有一个功能旨在解决这个问题:当选择“合并前要求状态检查通过”时,会有一个“合并前要求分支保持最新”的附加选项。如果来自基础分支的提交未合并回功能分支,则此设置将阻止合并。因此,用户将被迫“更新”他们的分支,这将导致“推送”事件到他们的分支,从而触发工作流程。

RequireBranchesBeUpToDate


2
投票

正如其他答案/评论者所指出的,根据更新的 PR 目标重新运行作业的事件触发器不存在。但是,您可以通过更改功能分支顶端的提交哈希来触发使用更新后的目标重新运行:

git commit --no-edit --amend
git push -f

这可行,但如果您有另一个从旧提示提交继续的功能分支,则当您合并第二个分支时,相同的提交将被视为合并冲突。当您为较大功能的一部分创建小型 PR 时,可能会发生这种情况(通常建议这样做)。在 PRing 之前,可以在新提交的顶端对第二个功能分支进行变基,但在变基时您仍然需要手动处理冲突。


0
投票

根据此页面:https://frontside.com/blog/2020-05-26-github-actions-pull_request/

edited
会做到这一点。它被描述为“标题、正文,或 PR 的基本分支被修改

on:
  pull_request:
    types: [ edited ]
© www.soinside.com 2019 - 2024. All rights reserved.