ci: author, review, and automerge regen prs via github apps - #63
Merged
Conversation
deny paths now clear stale auto-merge before commenting and fail the step if the disable errors, instead of best-effort || true. an empty changed-files listing no longer counts as an allowlist pass. renames are checked on both sides everywhere. approvals are pinned to the head commit.
pin the approval to the head captured before the allowlist run, then re-read the head after submitting; if it moved, dismiss the approval and deny. dismiss_stale_reviews (now enabled) covers pushes after the review; this covers the window before it.
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 4977c5a. Configure here.
a dismiss failure under set -e must not skip deny, which is the hard gate that clears stale auto-merge. dismiss_stale_reviews already covers the dismissal in the normal case.
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.

Regen PRs are now authored with a convoy-sdk-bot GitHub App token (replacing the personal PAT), so CI triggers as before without depending on a user account. A separate reviewer app approves only diffs whose changed files all match the repo's generated paths; anything else is left unapproved with a comment for human review. Auto-merge is queued after approval, so unresolved finding conversations and the required checks (tests, Cursor Bugbot, Cursor Security Agent) still block the merge.
Note
Medium Risk
Automated approval and auto-merge on main are security-sensitive, but multiple explicit gates and a fail-open deny path limit blast radius to expected regen output only.
Overview
SDK generation now mints a convoy-sdk-bot GitHub App token for checkout, push, and PR creation instead of
SDK_BOT_PAT/GITHUB_TOKEN, sopull_requestCI still runs. Commits are attributed toconvoy-sdk-bot[bot]rather thangithub-actions[bot].When a regen diff exists, a second step mints an SDK reviewer app token and runs Approve and enable auto-merge. It only approves when the PR targets
main, is authored byconvoy-sdk-bot[bot], head matches the commit this run pushed, and changed files are exclusivelyclient/client.gen.go(matchingscripts/generate.sh). Any failed gate fails open to humans: comment, clear auto-merge if needed, no approval. After approval it re-checks head SHA to close a race, then enables squash auto-merge via the bot token so downstream publish workflows still fire.Reviewed by Cursor Bugbot for commit fff78ef. Bugbot is set up for automated code reviews on this repo. Configure here.