阻止github操作工作流文件中的作业在发生事件时运行



我有一个github操作工作流验证,它目前在上运行

on:
pull_request:
types: [opened, synchronize, reopened, edited]

这个工作流中有多个作业,但对于第一个作业,我不希望它在编辑PR时运行。

因此,我写了一些类似的东西:

jobs:
run_tests:
name: Run Tests
continue-on-error: false
if: github.event.pull_request.edited != true

但这不起作用——当我编辑拉请求时——第一个作业开始运行。。。

我甚至试过

if: github.event.pull_request.action != 'edited'

如何防止此子作业仅针对特定的pull_request事件运行。

再次感谢Prabhas

在进行了一些测试后,我发现您需要另一种语法来检查pull请求事件类型。

实际上我不得不使用${{ github.event.action }}

示例:

if: github.event.action == 'edited'

为此,我检查了工作流运行中的GITHUB上下文(您可以在此处看到日志(,并观察到事件实际上显示为:

{
[...]
"base_ref": "main",
"event_name": "pull_request",
"event": {
"action": "edited",
[...]
}
}

event.action字段将根据类型而更改(例如,如果您更新PR文件或描述,则会有一个"同步">(。

如果你想检查的话,我在这里做了一个完整的工作流示例,运行这个工作流(编辑时(,运行另一个工作流(同步时(。

最新更新