如何在PR关闭时让GitHub取消所有关联的Actions任务?
PR关闭时自动取消关联GitHub Actions任务的方案
实现步骤
1. 创建新的监听工作流
在仓库的.github/workflows/目录下新建cancel-pr-runs.yml文件,填入以下配置:
name: Cancel PR Runs on: pull_request: types: [closed] jobs: cancel: runs-on: ubuntu-latest steps: - name: 取消当前PR关联的运行中任务 uses: styfle/cancel-workflow-action@0.11.0 with: workflow_id: '[apps] deploy' # 替换为你需要取消的目标工作流名称 token: ${{ secrets.GITHUB_TOKEN }} cancelMode: all
2. 配置说明
- 该工作流会在PR触发
closed事件时自动启动 - 借助社区维护的
styfle/cancel-workflow-action工具,通过GitHub API定位当前PR关联的、指定工作流的所有运行中/排队中的任务,并直接取消 cancelMode: all参数确保该PR下的所有同工作流实例都会被取消,不会遗漏
3. 权限说明
仓库默认的GITHUB_TOKEN已具备取消工作流运行的足够权限,无需额外配置私有密钥。
内容的提问来源于stack exchange,提问作者Gajus
相关产品推荐
相关产品推荐

