当文件位于PR分支上时,第二个工作流未被触发
我正在通过将一个大型工作流拆分成多个文件来重构我的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。然而,你可以手动触发你的工作流。
- 打开你在 GitHub 的仓库
- 点击 Actions
- 选择 Release builds to Google Play Console工作流
- 点击 Run workflow
- 选择分支 → Run
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。