GitHub Actions中build_and_run工作流在formatting失败时被跳过问题
解决方案:移除工作流中的成功检查条件
问题根源是build_and_run.yaml的build-and-run任务中存在一个检查前序Formatting Check and Fix工作流是否成功的if条件,这个条件会导致只有前序工作流成功时,当前任务才会执行,失败时则被跳过。
要实现「无论formatting工作流执行结果如何,build_and_run都在其完成后执行」的需求,只需移除这个if条件即可。
修改后的build_and_run.yaml示例
name: Build and Run on: workflow_run: workflows: [Formatting Check and Fix] types: - completed jobs: build-and-run: # 移除掉类似 `if: ${{ github.event.workflow_run.conclusion == 'success' }}` 的条件 runs-on: ubuntu-latest # 根据你的实际运行环境调整 steps: # 保留你原有的任务步骤 - name: Checkout code uses: actions/checkout@v4 # 其他构建、运行步骤...
问题背景回顾
- 你维护两个GitHub Actions工作流:
formatting.yaml(包含3个任务,任意2个任务失败时整个工作流状态为Failure)和build_and_run.yaml build_and_run通过workflow_run触发,指定types: completed,原本期望formatting工作流完成后无论结果都执行- 近期出现formatting失败时build_and_run被跳过的情况,是因为伙伴在build_and_run的任务中添加了前序工作流成功的检查条件,此前未被发现
内容的提问来源于stack exchange,提问作者Maksim Shmakov
相关产品推荐
相关产品推荐

