Skip to content

Commit 46902f5

Browse files
zackeesclaude
andcommitted
ci: one live run per workflow per ref; never cancel or coalesce main
Every workflow now carries a top-level concurrency group so a new push to a branch or PR cancels the superseded run instead of queuing behind it in the shared account-wide runner pool. Runs on main get a unique group (run_id) so they are never cancelled and never coalesced; release/publish workflows are likewise never cancelled. Reusable (workflow_call) workflows are untouched because the caller's group governs them; constant cross-ref groups are left as deliberate serialization. 24 workflow files changed. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Vf5U1eUfawCVRTVnJSF2He
1 parent 22ea046 commit 46902f5

24 files changed

Lines changed: 164 additions & 0 deletions

‎.github/workflows/auto-release.yml‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,11 @@ on:
66
- main
77
workflow_dispatch:
88

9+
# Never cancelled and never coalesced: every publish runs to completion.
10+
concurrency:
11+
group: ${{ github.workflow }}-${{ github.run_id }}
12+
cancel-in-progress: false
13+
914
permissions:
1015
contents: write
1116
pull-requests: write

‎.github/workflows/linux-arm-build.yml‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,13 @@ on:
66
pull_request:
77
workflow_dispatch:
88

9+
# One live run per workflow per ref: a new push to a branch or PR cancels the
10+
# superseded run instead of queuing behind it in the shared account-wide runner
11+
# pool. Runs on main get a unique group, so they are never cancelled or coalesced.
12+
concurrency:
13+
group: ${{ github.workflow }}-${{ github.ref == 'refs/heads/main' && github.run_id || github.ref }}
14+
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
15+
916
jobs:
1017
call:
1118
uses: ./.github/workflows/_build.yml

‎.github/workflows/linux-arm-integration-test.yml‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,13 @@ on:
66
pull_request:
77
workflow_dispatch:
88

9+
# One live run per workflow per ref: a new push to a branch or PR cancels the
10+
# superseded run instead of queuing behind it in the shared account-wide runner
11+
# pool. Runs on main get a unique group, so they are never cancelled or coalesced.
12+
concurrency:
13+
group: ${{ github.workflow }}-${{ github.ref == 'refs/heads/main' && github.run_id || github.ref }}
14+
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
15+
916
jobs:
1017
call:
1118
uses: ./.github/workflows/_integration-test.yml

‎.github/workflows/linux-arm-lint.yml‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,13 @@ on:
66
pull_request:
77
workflow_dispatch:
88

9+
# One live run per workflow per ref: a new push to a branch or PR cancels the
10+
# superseded run instead of queuing behind it in the shared account-wide runner
11+
# pool. Runs on main get a unique group, so they are never cancelled or coalesced.
12+
concurrency:
13+
group: ${{ github.workflow }}-${{ github.ref == 'refs/heads/main' && github.run_id || github.ref }}
14+
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
15+
916
jobs:
1017
call:
1118
uses: ./.github/workflows/_lint.yml

‎.github/workflows/linux-arm-unit-test.yml‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,13 @@ on:
66
pull_request:
77
workflow_dispatch:
88

9+
# One live run per workflow per ref: a new push to a branch or PR cancels the
10+
# superseded run instead of queuing behind it in the shared account-wide runner
11+
# pool. Runs on main get a unique group, so they are never cancelled or coalesced.
12+
concurrency:
13+
group: ${{ github.workflow }}-${{ github.ref == 'refs/heads/main' && github.run_id || github.ref }}
14+
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
15+
916
jobs:
1017
call:
1118
uses: ./.github/workflows/_unit-test.yml

‎.github/workflows/linux-x86-build.yml‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,13 @@ on:
66
pull_request:
77
workflow_dispatch:
88

9+
# One live run per workflow per ref: a new push to a branch or PR cancels the
10+
# superseded run instead of queuing behind it in the shared account-wide runner
11+
# pool. Runs on main get a unique group, so they are never cancelled or coalesced.
12+
concurrency:
13+
group: ${{ github.workflow }}-${{ github.ref == 'refs/heads/main' && github.run_id || github.ref }}
14+
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
15+
916
jobs:
1017
call:
1118
uses: ./.github/workflows/_build.yml

‎.github/workflows/linux-x86-dwarf-smoke.yml‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,13 @@ on:
66
pull_request:
77
workflow_dispatch:
88

9+
# One live run per workflow per ref: a new push to a branch or PR cancels the
10+
# superseded run instead of queuing behind it in the shared account-wide runner
11+
# pool. Runs on main get a unique group, so they are never cancelled or coalesced.
12+
concurrency:
13+
group: ${{ github.workflow }}-${{ github.ref == 'refs/heads/main' && github.run_id || github.ref }}
14+
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
15+
916
jobs:
1017
dwarf-smoke:
1118
runs-on: ubuntu-24.04

‎.github/workflows/linux-x86-integration-test.yml‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,13 @@ on:
66
pull_request:
77
workflow_dispatch:
88

9+
# One live run per workflow per ref: a new push to a branch or PR cancels the
10+
# superseded run instead of queuing behind it in the shared account-wide runner
11+
# pool. Runs on main get a unique group, so they are never cancelled or coalesced.
12+
concurrency:
13+
group: ${{ github.workflow }}-${{ github.ref == 'refs/heads/main' && github.run_id || github.ref }}
14+
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
15+
916
jobs:
1017
call:
1118
uses: ./.github/workflows/_integration-test.yml

‎.github/workflows/linux-x86-lint.yml‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,13 @@ on:
66
pull_request:
77
workflow_dispatch:
88

9+
# One live run per workflow per ref: a new push to a branch or PR cancels the
10+
# superseded run instead of queuing behind it in the shared account-wide runner
11+
# pool. Runs on main get a unique group, so they are never cancelled or coalesced.
12+
concurrency:
13+
group: ${{ github.workflow }}-${{ github.ref == 'refs/heads/main' && github.run_id || github.ref }}
14+
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
15+
916
jobs:
1017
call:
1118
uses: ./.github/workflows/_lint.yml

‎.github/workflows/linux-x86-unit-test.yml‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,13 @@ on:
66
pull_request:
77
workflow_dispatch:
88

9+
# One live run per workflow per ref: a new push to a branch or PR cancels the
10+
# superseded run instead of queuing behind it in the shared account-wide runner
11+
# pool. Runs on main get a unique group, so they are never cancelled or coalesced.
12+
concurrency:
13+
group: ${{ github.workflow }}-${{ github.ref == 'refs/heads/main' && github.run_id || github.ref }}
14+
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
15+
916
jobs:
1017
call:
1118
uses: ./.github/workflows/_unit-test.yml

0 commit comments

Comments
 (0)