You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 18:13:28