chore(ci): add CODEOWNERS and Dependabot auto-merge - #244
Merged
Merged
Conversation
Repository protection moved from classic branch protection to rulesets. Two files land alongside that change. CODEOWNERS is routing only. `require_code_owner_review` stays off in the ruleset: an approval from any one code owner satisfies it, so the rule needs two or more owners who actually review before it is anything but a merge block on a repo with a single author. The auto-merge workflow arms GitHub auto-merge on non-major Dependabot PRs. It bypasses no control — the PR still waits on the Build/Lint/Test gate the ruleset requires — it only removes the manual click once that gate is green. Majors continue to land by hand. The `permissions:` block is required rather than defensive: workflows triggered by Dependabot receive a read-only GITHUB_TOKEN regardless of the repository default, and the merge step fails without it. > *This was generated by AI*
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.
Closes #243 (partially — the ruleset side is applied via the API; this is the in-repo half).
Two files, landing alongside the move from classic branch protection to rulesets.
.github/CODEOWNERSRouting only, sole owner. The
default-branchruleset leavesrequire_code_owner_reviewoff: GitHub's softener is that an approval from any one code owner suffices, which needs two or more owners who actually review before the rule is anything other than a merge block. Worth revisiting if a second regular reviewer appears..github/workflows/dependabot_auto_merge.ymlArms GitHub auto-merge on non-major Dependabot PRs. It bypasses nothing — the PR still waits on the
Build/Lint/Testgate the ruleset requires, so this only removes the manual click once that gate is green. Majors still land by hand.permissions:block is load-bearing, not defensive: Dependabot-triggered workflows get a read-onlyGITHUB_TOKENregardless of the repository default, and the merge step fails on permissions without it.pull_request, notpull_request_target, and the PR URL is passed throughenv:rather than interpolated intorun:— workflow injection is a live risk in Dependabot-adjacent workflows.dependabot/fetch-metadatapinned to full semver to match the convention already used bygo.ymlandbuild_and_push.yml.dependabot.ymldoes no grouping, so each PR carries exactly one update and the major-version gate can't be straddled by a mixed batch.Verification limit
This PR is authored by a human, so the
Auto-mergejob will show as skipped — that proves the actor gate holds and the workflow parses, and nothing more. The merge step and thepermissions:block are not exercised until a real Dependabot PR runs. Next week's batch is the first true test.This PR also doubles as the vehicle for confirming the new ruleset behaves before classic protection is deleted.