Repository navigation
ci(adoption-wall): land the weekly refresh through a bot-merged PR - #573
Merged
Merged
Conversation
The default branch ruleset no longer lets copilotkit-bot push to main directly; it is now a pull-request-only bypass actor. Open a PR from a bot/adoption-wall-* branch and merge it with --admin (merge commit) through that bypass instead of pushing to main.
commit: |
Contributor
Author
|
Calibration at 6:49 PM PDT on this PR: |
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.
Why
During the 10/21 incident,
copilotkit-bot(app 1108748) was removed from rulesetblorpathupap(13465930). That ruleset protectsmainand requires a PR with 1 approval. The bot was the only identity that could push the weekly adoption-wall refresh straight tomain, so the next safe refresh fails with GH013.The bot is now back on the ruleset as a pull-request-only bypass actor. It can merge a PR without the approval, but it cannot push to
maindirectly. This PR changes the auto-land step to match:bot/adoption-wall-<date>-<run>-<attempt>branch.gh pr merge --merge --admin. The ruleset allows merge commits only.--autowaits for the approval forever.pull-requests: write.The needs-review path is unchanged. Comments and the Slack text no longer say the step pushes to
main.Red (real surface, copilotkit-bot installation token, before the ruleset change)
Ruleset change + green for the push half
After the change, the bot reads
current_user_can_bypass: pull_requests_only, and a direct push is still rejected:Probe of the PR half (bot-authored PR #572, closed unmerged)
The bot can push a branch, open a PR into
main, and enable auto-merge. A plain merge is refused because the approval is required.viewerCanMergeAsAdminisfalsefor the bot, so the--adminmerge through the PR-only bypass is not yet proven. See the next section: it is now proven.Green: bot admin-merge through the PR-only bypass (option B probe, 6:56 PM PDT)
Ruleset 13465930 was briefly widened to also cover a throwaway
ruleset-probe/bot-mergebranch. As copilotkit-bot, the probe pushed abot/probe-*branch, opened PR #574 into that base and ran the exact command this PR uses. The ruleset was then restored to the exact pre-probe JSON (diffed). Both probe branches are gone.gh pr merge --merge --adminmerged [probe] bot admin-merge through PR-only bypass #574 asapp/copilotkit-bot, even thoughviewerCanMergeAsAdminwasfalse.result=bypass.result=fail, GH013).mainis still rejected.After merge
The first
safe+ changed + confined run exercises this path onmain. Aworkflow_dispatchtakes that path only when the wall verdict is safe.actionlint: clean. prettier: clean. commitlint: clean.