From cb0b7df5374c643ea2deeee9d44f7075c6f0e30c Mon Sep 17 00:00:00 2001 From: EHotwagner Date: Sat, 24 Oct 2026 20:21:28 +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 | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 40ee00d..7a9c72e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -64,7 +64,7 @@ jobs: run: tests/release/test-net-0-6-release.sh --source-only publish: - name: Publish packages (org feed + nuget.org) + name: Publish packages (org feed + nuget.org) [org-publication-writer] runs-on: ubuntu-latest if: github.repository == 'FS-GG/FS.GG.Net' needs: [verify] @@ -74,6 +74,11 @@ jobs: packages: write # push to the org GitHub Packages 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/checkout@v7 with: ref: ${{ github.event_name == 'workflow_dispatch' && inputs.version != '' && format('refs/tags/v{0}', inputs.version) || github.ref }}