在GitHub Actions中,我如何在推送时触发,但仅在PR处于活动状态时触发?

32

假设我有2个分支,一个是特性分支,另一个是开发分支。

通常情况下,特性分支没有SLA(服务级别协议),这意味着我可以一整天将错误的代码推送到特性分支上而不会触发任何CI构建。

然后我向开发分支打开一个PR。我在pull_request:created上触发了一个CI构建操作。假设此构建失败。 默认情况下,我无法合并PR,这是正确的。

现在我想推送编辑到特性分支以更新PR。 我希望这些 推送能够触发CI构建(因为我们现在正在打开的PR中工作)。 我不想允许PR继续进行/合并,直到这些推送的CI构建通过。

我该如何在GitHub Actions中实现这一点? 我尝试了on pull_request: edited,但对我没有起作用。

我正在寻找等效于以下功能:

on:
  push:
    if: inside_open_pr
2个回答

40

使用事件pull_request,不要指定活动或指定活动synchronize

on:
  pull_request:

注意:默认情况下,工作流仅在pull_request的活动类型为openedsynchronizereopened时运行。要触发更多活动类型的工作流,请使用types关键字。 source 如果您将新提交推送到拉取请求的HEAD ref,则会触发此“同步”事件。这是因为系统正在将拉取请求与最新更改同步。如果更新了基本ref,则不会触发此操作。 source 如果您还需要对基本分支的更改做出反应,则必须添加活动editedsource

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接