fix(ci): prevent runner kill from blocking release creation (#361)

Add concurrency group to CI workflow so concurrent runs (triggered when
check-claude-version pushes to main then pushes a tag) queue instead of
killing each other. This addresses the ~86-second runner SIGTERM that
has blocked 10 releases in March.

Also harden release steps as defense-in-depth:
- timeout-minutes: 5 on compare-releases step
- if: always() on fallback notes and Create GitHub Release steps

Co-Authored-By: Claude <claude@anthropic.com>
This commit is contained in:
aaddrick
2026-03-31 09:48:05 -04:00
parent 1f03ca86a5
commit bdcedbfea6

View File

@@ -20,6 +20,10 @@ on:
branches: [main]
workflow_dispatch:
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: false
jobs:
test-flags:
name: Test Flags Parsing
@@ -208,6 +212,7 @@ jobs:
- name: Run compare-releases (upstream change)
if: steps.prev.outcome == 'success' && steps.prev.outputs.type == 'upstream'
timeout-minutes: 5
continue-on-error: true
env:
GH_TOKEN: ${{ github.token }}
@@ -300,7 +305,7 @@ jobs:
} > ../compare-work/summary.md
- name: Generate fallback release notes
if: ${{ !cancelled() }}
if: ${{ always() }}
run: |
# Only generate fallback if AI-generated notes don't exist
if [[ -f compare-work/summary.md ]]; then
@@ -358,6 +363,7 @@ jobs:
} > compare-work/summary.md
- name: Create GitHub Release
if: ${{ always() }}
uses: softprops/action-gh-release@v2
with:
files: artifacts/**/*