From 78c61342c91598fc770e39b7592193657a45aab6 Mon Sep 17 00:00:00 2001 From: David Matejka Date: Thu, 12 Nov 2026 13:49:53 +0100 Subject: [PATCH 1/2] ci: add job timeouts and cancel superseded CI runs Every job gets timeout-minutes: 10; runs take under 30 s. CI runs on the same ref cancel the previous one. Release keeps no cancelling group, so a publish is never stopped halfway. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/ci.yml | 5 +++++ .github/workflows/release.yml | 1 + 2 files changed, 6 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6782fef..7fa6a07 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -6,9 +6,14 @@ on: pull_request: branches: [main] +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + jobs: check: runs-on: ubuntu-latest + timeout-minutes: 10 steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a84e91f..491609b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -10,6 +10,7 @@ permissions: {} jobs: publish: runs-on: ubuntu-latest + timeout-minutes: 10 permissions: contents: read id-token: write From c4343d35b1a45d31cfc25eec7f75e2b594be07aa Mon Sep 17 00:00:00 2001 From: David Matejka Date: Thu, 12 Nov 2026 13:50:39 +0100 Subject: [PATCH 2/2] ci: queue main runs instead of cancelling them Co-Authored-By: Claude Opus 5.5 --- .github/workflows/ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7fa6a07..843ce4e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,7 +8,8 @@ on: concurrency: group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true + # A running main run finishes; on PRs a new push cancels the superseded run. + cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} jobs: check: