From b9121d2eface263d896f4d8dceb83263d42cd334 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 12 Aug 2026 11:46:05 +0000 Subject: [PATCH] CI runs once per commit, and a superseded run stops push plus pull_request meant the whole matrix ran twice for every commit on a branch with a PR open: two runs, same sha, seconds apart, visible all through this repo's run history. main was already excluded from the push trigger, so dropping it loses no coverage. A branch that gets three pushes in a minute also left three full runs going. Only pull requests cancel, so a run a deploy workflow starts is never one that gets pulled out from under a release. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01SfMykfXmVHn6dYbpFkLw7o --- .github/workflows/ci.yml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9c87cfb..c03330a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,11 +7,17 @@ name: CI on: - push: - branches-ignore: [main] + # No push trigger. Paired with pull_request it ran the whole matrix twice for + # every commit on a branch with a PR open: two runs, same sha, seconds apart. + # main was already excluded, so pull_request alone loses no coverage. pull_request: workflow_call: # so a deploy workflow can reuse this exact job +# Three pushes in a minute should not leave three full runs grinding through. +concurrency: + group: ci-${{ github.ref }} + cancel-in-progress: ${{ github.event_name == 'pull_request' }} + jobs: test: runs-on: ubuntu-latest