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

如何在GitHub Actions工作流级别配置并发与事件执行优先级?

GitHub Actions 工作流并发控制方案

针对你提出的两个需求,我们可以通过concurrency配置和Job依赖来实现:

一、取消旧的Synchronize触发任务,保留最新实例

通过为同一个PR设置专属的并发组,并针对synchronize事件启用「取消正在运行的旧任务」机制:

concurrency:
  # 为每个PR创建独立的并发组,确保同PR的任务互相影响
  group: pr-${{ github.event.pull_request.number }}
  # 仅当触发事件是pull_request的synchronize动作时,取消旧任务
  cancel-in-progress: ${{ github.event_name == 'pull_request' && github.event.action == 'synchronize' }}

这样配置后,当同一个PR触发多个synchronize任务时,新任务启动会自动取消队列中或正在运行的旧任务,只保留最新的实例。

二、让Review任务等待Synchronize任务完成执行

将工作流拆分为两个独立Job,通过needs关键字建立依赖关系,确保Review任务必须等PR处理任务完成后再运行:

完整工作流示例:

name: PR & Review Workflow

on:
  pull_request:
    types:
      - opened
      - synchronize
  pull_request_review:
    types:
      - submitted

concurrency:
  group: pr-${{ github.event.pull_request.number }}
  cancel-in-progress: ${{ github.event_name == 'pull_request' && github.event.action == 'synchronize' }}

jobs:
  # 处理PR的opened/synchronize事件
  pr-handler:
    if: github.event_name == 'pull_request'
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
      # 这里添加你的PR处理逻辑,比如构建、测试等
      - name: Run PR checks
        run: |
          echo "Running checks for PR #${{ github.event.pull_request.number }} (event: ${{ github.event.action }})"

  # 处理PR review的submitted事件,依赖pr-handler完成
  review-handler:
    if: github.event_name == 'pull_request_review'
    needs: pr-handler
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
      # 这里添加你的审核后处理逻辑,比如合并验证、通知等
      - name: Process review
        run: |
          echo "Processing review for PR #${{ github.event.pull_request.number }}"

关键逻辑说明:

  1. pr-handler Job仅在pull_request事件触发时运行,负责执行PR相关的核心操作
  2. review-handler Job仅在pull_request_review事件触发时运行,通过needs: pr-handler强制它必须等待同PR的pr-handler Job完成后才能启动
  3. 同一个PR的所有任务都属于同一个并发组,确保当synchronize任务正在运行时,review-handler会进入队列等待,不会提前执行

内容的提问来源于stack exchange,提问作者Swathi DA

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 17:40:24