如何修改GitHub Actions工作流实现Validate成功后自动触发Build
实现Validate成功后自动触发Build工作流
你的当前配置中,Build工作流会在Validate工作流任何完成状态(成功/失败/取消)下触发,要实现仅在Validate成功后触发,只需对build.yml做两处修改:
1. 对齐触发范围(可选但推荐)
为了和Validate工作流的触发条件保持一致,避免无关的Validate运行触发Build,在workflow_run下添加分支和标签过滤:
2. 仅在Validate成功时执行Build任务
在Build的任务中添加条件判断,只有当Validate工作流的结论为success时才执行。
修改后的build.yml完整配置:
name: Build on: workflow_run: workflows: - Validate branches: [ "DEVELOP" ] tags: - v** types: - completed workflow_dispatch: jobs: build: name: Push to Docker image to GitHub runs-on: ubuntu-latest # 核心条件:仅当Validate工作流成功完成时才执行 if: ${{ github.event.workflow_run.conclusion == 'success' }} .....
关键说明:
branches和tags配置和validate.yml保持一致,确保只有对应分支/标签的Validate运行才会触发Build检查if: ${{ github.event.workflow_run.conclusion == 'success' }}是核心判断,直接过滤掉失败、取消等非成功状态的Validate运行
这样配置后,只有当DEVELOP分支或v*标签的代码推送/PR触发的Validate工作流成功完成时,Build工作流才会自动启动。
内容的提问来源于stack exchange,提问作者Achchuthan Yogarajah
相关产品推荐
相关产品推荐

