我有一个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文件或描述,则会有一个"同步">(。
如果你想检查的话,我在这里做了一个完整的工作流示例,运行这个工作流(编辑时(,运行另一个工作流(同步时(。