手动触发GitHub Action时工作流总是被跳过该如何解决?
手动触发被跳过的根本原因
你仅在触发规则中新增了workflow_dispatch,但未同步修改任务的执行条件:
原有build_and_deploy_job的if判断为:
if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action != 'closed')
该条件仅允许push事件、非关闭状态的PR事件执行任务,手动触发对应的workflow_dispatch事件不在匹配范围内,因此该任务会被直接跳过;而另一个close_pull_request_job仅匹配PR关闭事件,和手动触发无关,整个工作流没有可执行的任务,最终整体显示为跳过状态。
构建跳过原因的查询方式
直接在GitHub Action的工作流运行详情页即可查看:
- 点击被标记为跳过的工作流记录,展开对应任务项,GitHub会明确标注该任务被跳过的原因是
if条件判定结果为false。
修复方案
在build_and_deploy_job的if条件中新增workflow_dispatch事件的匹配规则即可,修改后的代码如下:
if: github.event_name == 'workflow_dispatch' || github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action != 'closed')
将修改后的配置提交到dev分支后,再手动触发即可正常执行构建。
内容的提问来源于stack exchange,提问作者Persyl
相关产品推荐
相关产品推荐

