Repository navigation
Take the org-wide publication writer lock in every write-capable publisher job (Refs FS-GG/.github#4753) - #340
Merged
Conversation
…isher 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 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adopts the org-wide serialized publication writer from ADR-0097 (FS-GG/.github#4753, lock PR FS-GG/.github#4858, merged as c799a9f9b21d52eb9766cf0950722e3e55145d39).
GitHub
concurrencygroups are per repository, so they cannot serialize publishers in different repositories. Every write-capable job of the publishing workflows below now starts with the pinned stepAcquire org publication writer lock, carries[org-publication-writer]in its job name (how other publishers recognise it), and has itstimeout-minutesraised by exactly the bounded wait (30 min) so its own working budget is unchanged. The oldest live publisher job in any registered repository proceeds; the job's end releases the lock, so a crashed publisher cannot deadlock the org. The lock grants no authority; every existing candidate, journal, revocation and protection guard is unchanged.No publication, tag or credential operation is run by this change. Producer-local concurrency groups are kept. Coverage is checked by
scripts/check-publication-writer-coverage.py --remotein FS-GG/.github.Refs FS-GG/.github#4753.
architecture-map: unaffected
🤖 Generated with Claude Code