From a5698d60fd54fc724cf47ebabefa57baeecc29fd Mon Sep 17 00:00:00 2001 From: nstarman Date: Sat, 10 Oct 2026 16:41:02 -0400 Subject: [PATCH 1/3] =?UTF-8?q?=F0=9F=91=B7=20ci:=20don't=20cancel=20CI=20?= =?UTF-8?q?runs=20on=20main?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Give each push to main its own concurrency group (keyed on the SHA) so every merged commit gets a complete CI record. PRs, tags and releases keep their per-ref groups and still supersede older runs. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/cd.yml | 6 +++++- .github/workflows/ci.yml | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 219810e..7bfc0fd 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -11,7 +11,11 @@ on: - published concurrency: - group: ${{ github.workflow }}-${{ github.ref }} + # Pushes to main get a group per commit, so merges never cancel each + # other and main keeps a complete CI record. PRs still supersede. + group: + ${{ github.workflow }}-${{ github.ref }}-${{ github.ref == 'refs/heads/main' + && github.sha || '' }} cancel-in-progress: true env: diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 93fdcc1..bccc51a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,7 +11,11 @@ on: - main concurrency: - group: ${{ github.workflow }}-${{ github.ref }} + # Pushes to main get a group per commit, so merges never cancel each + # other and main keeps a complete CI record. PRs still supersede. + group: + ${{ github.workflow }}-${{ github.ref }}-${{ github.ref == 'refs/heads/main' + && github.sha || '' }} cancel-in-progress: true env: From be9075c0db921688d8d0157493857f260f9205f0 Mon Sep 17 00:00:00 2001 From: nstarman Date: Sat, 10 Oct 2026 17:24:39 -0400 Subject: [PATCH 2/3] =?UTF-8?q?=F0=9F=91=B7=20ci:=20key=20main's=20concurr?= =?UTF-8?q?ency=20group=20on=20push=20events=20only?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Append the SHA only for push events (which only fire on main), so PRs, releases and manual runs keep their exact previous group names with no trailing '-'. Use an explicit folded scalar (>-) so the wrapped expression reads unambiguously as one string. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/cd.yml | 11 ++++++----- .github/workflows/ci.yml | 11 ++++++----- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 7bfc0fd..0fa9cc0 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -11,11 +11,12 @@ on: - published concurrency: - # Pushes to main get a group per commit, so merges never cancel each - # other and main keeps a complete CI record. PRs still supersede. - group: - ${{ github.workflow }}-${{ github.ref }}-${{ github.ref == 'refs/heads/main' - && github.sha || '' }} + # Each push to main gets its own group, so merges never cancel each other + # and main keeps a complete CI record. Other events (PRs, releases, manual + # runs) keep the per-ref group and still supersede older runs. + group: >- + ${{ github.workflow }}-${{ github.event_name == 'push' && github.sha || + github.ref }} cancel-in-progress: true env: diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bccc51a..8680aad 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,11 +11,12 @@ on: - main concurrency: - # Pushes to main get a group per commit, so merges never cancel each - # other and main keeps a complete CI record. PRs still supersede. - group: - ${{ github.workflow }}-${{ github.ref }}-${{ github.ref == 'refs/heads/main' - && github.sha || '' }} + # Each push to main gets its own group, so merges never cancel each other + # and main keeps a complete CI record. Other events (PRs, releases, manual + # runs) keep the per-ref group and still supersede older runs. + group: >- + ${{ github.workflow }}-${{ github.event_name == 'push' && github.sha || + github.ref }} cancel-in-progress: true env: From b463737eebfa92ac3744275de32525c68dc01694 Mon Sep 17 00:00:00 2001 From: nstarman Date: Sat, 10 Oct 2026 17:37:06 -0400 Subject: [PATCH 3/3] =?UTF-8?q?=F0=9F=93=9D=20ci:=20don't=20list=20event?= =?UTF-8?q?=20types=20in=20the=20concurrency=20comment?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Not every workflow runs on releases or manual triggers; say "all other events" so the comment stays accurate. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/cd.yml | 4 ++-- .github/workflows/ci.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 0fa9cc0..7de3a16 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -12,8 +12,8 @@ on: concurrency: # Each push to main gets its own group, so merges never cancel each other - # and main keeps a complete CI record. Other events (PRs, releases, manual - # runs) keep the per-ref group and still supersede older runs. + # and main keeps a complete CI record. All other events keep the per-ref + # group and still supersede older runs. group: >- ${{ github.workflow }}-${{ github.event_name == 'push' && github.sha || github.ref }} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8680aad..57cf424 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,8 +12,8 @@ on: concurrency: # Each push to main gets its own group, so merges never cancel each other - # and main keeps a complete CI record. Other events (PRs, releases, manual - # runs) keep the per-ref group and still supersede older runs. + # and main keeps a complete CI record. All other events keep the per-ref + # group and still supersede older runs. group: >- ${{ github.workflow }}-${{ github.event_name == 'push' && github.sha || github.ref }}