From d4c3759c70194420932ac28913a6d76ad15736fa Mon Sep 17 00:00:00 2001 From: Charles Bochet Date: Thu, 6 Aug 2026 12:54:20 +0200 Subject: [PATCH] ci(pr-review): stop a skipped label dispatch from cancelling the open dispatch (#23856) ## Problem The standard review silently does not run on PRs that get labelled by a bot right after opening. https://github.com/twentyhq/twenty/pull/23854 is an example: no `PR Review #23854` run exists in `ci-privileged` at all. | time | what | |---|---| | 10:08:35 | PR opened | | 10:08:39 | `twenty-eng-sync[bot]` adds the `-PR: draft` label | | 10:08:40 | dispatch run for `opened` starts, cancelled during "Set up job" | | 10:08:43 | dispatch run for `labeled` is skipped by the job `if` | Concurrency is evaluated before the job-level `if`, so the `labeled` run preempts and cancels the in-flight `opened` run and is then skipped itself (`-PR: draft` does not start with `pr-review-`). The sync bot labels within ~4 seconds of open, which is faster than the app-token mint step, so the `opened` dispatch loses this race essentially every time that label is applied. `opened` is the only event that resolves to the `standard` check, so with no later push the PR gets no review at all. Same class of gap as the one #23708 closed, moved down a layer: the trigger exists now but gets cancelled. ## Fix Scope the concurrency group by event action, and only cancel in-progress runs for `synchronize`. Rapid consecutive pushes still de-duplicate; `opened`, `ready_for_review` and `labeled` no longer cancel each other. Review in cubic --- .github/workflows/pr-review-dispatch.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pr-review-dispatch.yaml b/.github/workflows/pr-review-dispatch.yaml index 12b39806f0..2b57a63ebb 100644 --- a/.github/workflows/pr-review-dispatch.yaml +++ b/.github/workflows/pr-review-dispatch.yaml @@ -8,8 +8,8 @@ on: permissions: {} concurrency: - group: pr-review-dispatch-${{ github.event.pull_request.number }} - cancel-in-progress: true + group: pr-review-dispatch-${{ github.event.pull_request.number }}-${{ github.event.action }} + cancel-in-progress: ${{ github.event.action == 'synchronize' }} jobs: dispatch: