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

为什么配置了对应分支触发规则的GitHub Workflow会同时运行两个流程

问题根源

你的工作流配置中,branches 分支过滤规则仅绑定了workflow_dispatch(手动触发)事件,未对push(代码推送)事件做分支限制,因此只要有任意分支的代码推送,两个工作流都会被触发。

错误配置说明

你当前的on字段写法如下,以develop.yml为例:

on:
  push: # 此处未配置任何分支限制,所有分支推送都会触发该事件
  workflow_dispatch:
    branches:
      - develop # 这里的分支限制仅对手动触发场景生效

生产环境的production.yml存在完全相同的配置错误,push事件未绑定master分支过滤。

修正方案

给push事件也加上对应的分支限制即可,正确配置示例如下:

修正后的develop.yml

name: Develop
on:
  push:
    branches:
      - develop
  workflow_dispatch:
    branches:
      - develop
jobs:
  perform-linting:
    runs-on: windows-latest
    steps:
      - name: Checkout repository code
        uses: actions/checkout@v2
      - name: Setup node
        uses: actions/setup-node@v2
        with:
          node-version: "14.x"
      - name: Install base dependencies
        run: npm install
      - name: Bootstrap
        run: lerna bootstrap
      - name: Run ESLint
        run: lerna run lint

修正后的production.yml

name: Production
on:
  push:
    branches:
      - master
  workflow_dispatch:
    branches:
      - master
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repo code
        uses: actions/checkout@v2
      - name: Deploy to Heroku
        uses: akhileshns/heroku-deploy@v3.12.12
        with:
          heroku_api_key: ${{secrets.HEROKU_API_KEY}}
          heroku_app_name: ${{secrets.HEROKU_APP_NAME}}
          heroku_email: ${{secrets.HEROKU_EMAIL}}

修改后只有对应分支的推送才会触发对应工作流,手动触发也仅能在指定分支操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 13:54:03