由另一个工作流触发的工作流在错误的分支上运行

Gal*_*Gal 5 github github-actions

我有一个“工作流程 B”,当“工作流程 A”完成时会自动触发。工作流 A 由每个新的 Pull 请求触发,因此分支会动态变化。

name: Workflow B
on:
  workflow_run:
    workflows: ['Workflow A']
    types:
      - completed
  workflow_dispatch:

jobs:
  first-workflow-job:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v3
      - name: Use Node.js
        uses: actions/setup-node@v3
        with:
          cache: 'npm'
Run Code Online (Sandbox Code Playgroud)

我希望工作流程 B 与工作流程 A 在同一分支上运行。但是,工作流程 B 在 master 上运行。如何在这些工作流程之间共享分支值?

Gal*_*Gal 4

我终于找到了解决我的问题的方法!再次感谢迄今为止做出贡献的所有人。

所以解决方案依赖于workflow_run上下文。我们唯一需要添加的是在 Workflow_B 中,我们可以在其中访问触发器工作流的头分支:

name: Workflow B
on:
  workflow_run:
    workflows: ['Workflow A']
    types:
      - completed
  workflow_dispatch:

jobs:
  first-workflow-job:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v3
        with:
          ref: ${{ github.event.workflow_run.head_branch }}
      - name: Use Node.js
        uses: actions/setup-node@v3
        with:
          cache: 'npm'
Run Code Online (Sandbox Code Playgroud)