当文件位于PR分支上时,第二个工作流未被触发

编程语言 2026-07-12

我正在通过将一个大型工作流拆分成多个文件来重构我的CI/CD流水线,以提高可维护性。我希望第一个工作流运行单元测试,如果成功,再触发处理发布的第二个工作流。

然而,当我把这些改动推送到一个特性分支(Pull Request)时,只有第一个工作流会执行。第二个工作流从来不会启动。

工作流1: validate.yml

name: Run build and unit tests
on:
  push:
    branches: [ "**" ]
  pull_request:
    branches: [ "**" ]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Run Tests
        run: echo "Running unit tests..."

工作流2: release.yml

name: Release builds to Google Play Console
on:
  workflow_run:
    workflows: ["Run build and unit tests"]
    types: [completed]
    branches: ["**"]

jobs:
  release:
    if: ${{ github.event.workflow_run.conclusion == 'success' }}
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Deploy
        run: echo "Deploying to Play Store..."

名为“Run build and unit tests”的工作流已经成功完成,但名为“Release builds to Google Play Console”的工作流从未被触发。当前PR分支中的两个文件都位于 .github/workflows/ 目录。

为什么第二个工作流没有被执行? 在工作流文件尚未合并到默认分支时,关于 workflow_run 是否存在限制?

===== 更新 =====

我已经用 workflow_run 更新了默认分支,但第二个工作流仍未被执行。 如果有关于如何将工作流串联起来的建议,将不胜感激。

解决方案

我也遇到了同样的问题,可能是GitHub的一个bug。然而,你可以手动触发你的工作流。

  1. 打开你在 GitHub 的仓库
  2. 点击 Actions
  3. 选择 Release builds to Google Play Console工作流
  4. 点击 Run workflow
  5. 选择分支 → Run
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章