如何在GitHub Actions中终止调用者工作流触发的可重用工作流?
问题:并发触发时如何终止所有被调用的可重用工作流?
主工作流定义
我有一个调用可重用工作流的主工作流,其定义如下:
name: My CI Pipeline on: push: branches: [ "master" ] concurrency: group: ${{ github.ref }} cancel-in-progress: true jobs: ...
问题现象
向仓库推送代码时,Action Runner会启动该主工作流,进而调用可重用工作流(该可重用工作流还会调用其他可重用工作流),流程运行正常。
当再次推送代码时,新启动的主工作流会中断正在运行的旧主工作流,这符合预期。但已被调用的可重用工作流仍会继续运行。
由于第一个可重用工作流的处理过程中依赖仓库中存储的某个变量,这种情况可能引发问题。
调用可重用工作流的配置
我的主工作流末尾调用可重用工作流的配置如下:
run_build_wf: needs: check_changes if: needs.check_changes.outputs.changed_part_be == 'backend' || needs.check_changes.outputs.changed_part_fe == 'frontend' uses: ./.github/workflows/build_workflow.yml secrets: inherit with: changed_part_be: ${{needs.check_changes.outputs.changed_part_be}} changed_part_fe: ${{needs.check_changes.outputs.changed_part_fe}}
疑问
当触发concurrency特性时,如何终止所有被调用的工作流?是否需要在被调用的工作流中添加concurrency相关配置?
内容的提问来源于stack exchange,提问作者du-it
相关产品推荐
相关产品推荐

