From 166ffb545efcdaceebf169213c73bc43ce9622a2 Mon Sep 17 00:00:00 2001 From: vickydotbat Date: Wed, 5 Aug 2026 18:31:23 +0000 Subject: [PATCH] chore(ci): explicit concurrency groups now the shared runner holds 2 slots (#102) Companion to sow-platform#189 (runner capacity 1 -> 2). Capacity 1 was the implicit mutex serializing every workflow; this makes the exclusions explicit: side-effectful workflows serialized (never cancelled mid-run), PR-triggered checks per-ref with cancel-in-progress.Reviewed-on: https://git.westgate.pw/ShadowsOverWestgate/sow-tools/pulls/102 Co-authored-by: vickydotbat --- .gitea/workflows/build-binaries.yml | 6 ++++++ .gitea/workflows/ci.yml | 6 ++++++ .gitea/workflows/sync-wrappers.yml | 6 ++++++ 3 files changed, 18 insertions(+) diff --git a/.gitea/workflows/build-binaries.yml b/.gitea/workflows/build-binaries.yml index 28c4162..7e4b2a4 100644 --- a/.gitea/workflows/build-binaries.yml +++ b/.gitea/workflows/build-binaries.yml @@ -11,6 +11,12 @@ permissions: code: read releases: write +# The shared runner runs 2 jobs at once now (sow-platform#189); capacity 1 was +# the implicit mutex. Serialize this workflow explicitly; never cancel mid-run. +concurrency: + group: build-binaries + cancel-in-progress: false + jobs: build-binaries: runs-on: nix-docker diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index cbec1c9..79ee5fa 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -7,6 +7,12 @@ on: permissions: read-all +# One run per ref: a new push obsoletes the run on the old head, so cancel it +# and free the runner slot for the run that can still matter. +concurrency: + group: ci-${{ gitea.ref }} + cancel-in-progress: true + jobs: ci: runs-on: nix-docker diff --git a/.gitea/workflows/sync-wrappers.yml b/.gitea/workflows/sync-wrappers.yml index bb63b04..ca1391c 100644 --- a/.gitea/workflows/sync-wrappers.yml +++ b/.gitea/workflows/sync-wrappers.yml @@ -16,6 +16,12 @@ on: permissions: read-all +# The shared runner runs 2 jobs at once now (sow-platform#189); capacity 1 was +# the implicit mutex. Serialize this workflow explicitly; never cancel mid-run. +concurrency: + group: sync-wrappers + cancel-in-progress: false + jobs: sync: runs-on: nix-docker