Protect main, and add the docs-only companion to the PR gate - #4
Merged
Conversation
Branch protection on main now mirrors the framework repo field-for-field: the ubuntu-latest check required, PRs required, linear history, conversation resolution, no force-pushes or deletions, and admins exempt so an emergency fix or a stuck check is still unblockable. A v* tag ruleset blocks tag creation/deletion/update for non-admins, which matters more here than in Fallout: every release channel in publish.yml is tag-triggered. CODEOWNERS follows Fallout's scoping rather than covering everything — shipped code only (src/, plugins/), leaving the build orchestrator, CI and docs gated by the status check alone. Routine build work doesn't need a second pair of eyes; the extension and the published plugin do. build-skip.yml is the companion Fallout already worked out: build.yml ignores **/*.md, so without a substitute a docs-only PR would sit blocked forever on a required check that never reports. It fires on the exact inverse path set and reports success under the same ubuntu-latest context. build.yml's exclude list is narrowed to that single pattern so the two sets cannot drift — the earlier negation carve-out made the complement impossible to state, which is exactly how such a gap opens. Co-Authored-By: Claude Opus 5 (1M context) <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.
Follow-up to #3 — this was pushed to that branch moments after it merged, so it needs its own PR.
Branch protection and the merge/tag settings are already applied to the repo (they're API state, not files). What's here is the repository-side companion to them.
Protection applied (mirrors the framework repo field-for-field)
ubuntu-latest, non-strictenforce_adminsv*creation/deletion/update blocked, admins bypassThe tag ruleset matters more here than in Fallout: every release channel in
publish.ymlis tag-triggered, so an accidental tag is an accidental release.What's in this PR
.github/CODEOWNERS— follows Fallout's scoping rather than covering everything: shipped code only (src/,plugins/). The build orchestrator, CI and docs have no owner and are gated by the status check alone, so routine build work still lands without a second pair of eyes..github/workflows/build-skip.yml— the companion Fallout already worked out.build.ymlignores**/*.md, so without a substitute a docs-only PR sits blocked forever on a required check that never reports. This fires on the exact inverse path set and reports success under the sameubuntu-latestcontext.build.yml's exclude list is narrowed to that single pattern so the two sets can't drift — my earlier!.github/workflows/**negation made the complement impossible to state correctly, which is precisely how such a gap opens.Note
#3 merged as a merge commit at 02:51:12, one second before these settings landed. Merge commits are now disabled and linear history is required, so this PR needs squash or rebase.
🤖 Generated with Claude Code