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

为何Workflow A推送文件到branch_b后Workflow B未触发?

问题

我的仓库包含三个分支:master(默认分支)、branch_a、branch_b。我在branch_a分支中配置了一个名为CD的工作流,该工作流会创建test2.txt文件并将其提交推送到branch_b,工作流代码如下:

name: CD

on:
  push:
    branches:
      - branch_a

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v2

      - name: Create and push build branch
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: |
          git config --global user.email "myemail"
          git config --global user.name "myusername"

          # Create a simple text file
          echo "This is a test file." > test2.txt

          # Commit and push changes to branch_b
          git fetch origin branch_b
          git checkout branch_b # Switch to branch_b
          git add test2.txt
          git commit -m "Add test file"
          git push origin branch_b

同时,我在branch_b分支中创建了另一个名为Workflow B的工作流,代码如下:

name: Workflow B

on:
  push:
    branches:
      - branch_b

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v2


      - name: Output
        run: echo "Workflow on branch_b triggered"

我已确认test2.txt成功推送到branch_b,但Workflow B并未在CD工作流完成后触发,请问可能的原因是什么?

可能的原因
  • GITHUB_TOKEN 默认行为限制:工作流中使用的${{ secrets.GITHUB_TOKEN }}是GitHub自动生成的令牌,默认规则下,用这个令牌发起的推送操作不会触发任何仓库内的工作流运行,目的是避免循环触发。这是最常见的原因,你的CD工作流正是用这个令牌推送到branch_b,所以不会触发Workflow B。
  • Workflow B配置文件未被识别:如果Workflow B的配置文件(位于.github/workflows/目录下)是在CD工作流推送之后才添加到branch_b的,那之前的推送不会触发它;或者配置文件的文件名不符合要求(比如没有.yml或.yaml后缀),导致GitHub未识别到这个工作流。
  • 分支触发规则配置错误:仔细检查Workflow B的on.push.branches配置,确认分支名称拼写完全匹配(比如是否大小写错误、多打/漏打字符),如果分支名称不匹配,推送事件不会触发工作流。
  • 仓库工作流权限设置限制:如果仓库的Actions权限设置中,限制了工作流触发的范围,或者禁用了某些事件类型,可能导致Workflow B无法被触发。可以在仓库设置的Actions选项中检查相关权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 13:35:42