You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何GitHub Workflow无指定文件变更时仍触发?求正确配置

GitHub Workflow 触发规则配置优化

需求说明

需要让GitHub Workflow仅在以下场景触发:

  • 推送的提交中修改了指定文件;
  • 针对main分支创建PR,且PR创建时包含指定文件变更;
  • PR后续推送若无指定文件变更则不触发。

原配置问题

原配置如下:

on:
  pull_request:
    branches:
      - main
    paths:
      - myfolder/fileone.json
      - myfolder/filetwo.json
  push:
    branches:
      - main
    paths:
      - myfolder/fileone.json
      - myfolder/filetwo.json

该配置会在符合条件的PR创建时触发,但后续即使PR推送没有指定文件变更,Workflow仍会被触发,不符合需求。

优化后的配置

on:
  # 仅在针对main分支创建PR且包含指定文件变更时触发
  pull_request:
    types:
      - opened
    branches:
      - main
    paths:
      - myfolder/fileone.json
      - myfolder/filetwo.json
  # 仅在推送main分支且提交包含指定文件变更时触发(含PR合并到main的情况)
  push:
    branches:
      - main
    paths:
      - myfolder/fileone.json
      - myfolder/filetwo.json

配置说明

  • pull_request事件添加types: [opened]后,Workflow只会在PR首次创建时检查路径变更,后续向该PR推送代码时不会触发,精准匹配需求。
  • push事件保持原逻辑,确保只有当main分支收到包含指定文件变更的推送时才触发。由于PR合并到main会生成push事件,因此合并操作也会触发Workflow,符合场景要求。

内容的提问来源于stack exchange,提问作者red888

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 22:46:00