From 5b8a3cac06be339c4a55843fed60db9cf3f69fa5 Mon Sep 17 00:00:00 2001 From: EHotwagner Date: Sat, 24 Oct 2026 20:21:43 +0200 Subject: [PATCH] Take the org-wide publication writer lock in every write-capable publisher job (Refs FS-GG/.github#4753) ADR-0097 (FS-GG/.github#4858, c799a9f9): GitHub concurrency groups are per repository, so all FS-GG publishers serialize through one ticketed lock over the public Actions job list. Each write-capable job here gets the pinned lock step first, a job name carrying [org-publication-writer], and its timeout raised by exactly the bounded wait so its own working budget is unchanged. Co-Authored-By: Claude Sonnet 5.5 --- .github/workflows/release.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index cec4c58d..26dc54ad 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -553,6 +553,7 @@ jobs: run: tests/composition/run.sh publish: + name: publish [org-publication-writer] # `needs.pack.outputs.*` below is available only when `pack` is a direct dependency. The gate also # depends on pack, but GitHub does not expose transitive `needs` contexts to this job. needs: [route, pack, gate] @@ -563,6 +564,11 @@ jobs: packages: write # push the package to the org feed id-token: write # ADR-0013: mint the GitHub OIDC token for nuget.org Trusted Publishing steps: + - name: Acquire org publication writer lock + uses: FS-GG/.github/.github/actions/publication-writer-lock@c799a9f9b21d52eb9766cf0950722e3e55145d39 # ADR-0097 + with: + max-wait-minutes: 30 + timeout-minutes: 32 - uses: actions/setup-dotnet@v6 with: dotnet-version: '10.0.401'