Skip to content

ci: author, review, and automerge regen prs via github apps#14

Merged
mekilis merged 4 commits into
mainfrom
ci/sdk-regen-auto-review
Jul 20, 2026
Merged

ci: author, review, and automerge regen prs via github apps#14
mekilis merged 4 commits into
mainfrom
ci/sdk-regen-auto-review

Conversation

@mekilis

@mekilis mekilis commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

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
Changes merge and approval automation for generated SDK PRs; mistakes in the allowlist or gate logic could auto-merge unexpected diffs, though the workflow is designed to fail open to human review.

Overview
SDK generation now authenticates with a convoy-sdk-bot GitHub App token instead of SDK_BOT_PAT / GITHUB_TOKEN, so opened PRs still run pull_request CI and commits are attributed to convoy-sdk-bot[bot].

When a regen diff exists, a second SDK reviewer app runs a new Approve and enable auto-merge step: it only approves PRs targeting main, authored by the bot, whose head matches the commit this run pushed, and whose changed files are entirely under src/Client/ (same allowlist as scripts/generate.sh). Failures fail open—comment, clear auto-merge if needed, no approval—rather than merging unexpectedly; approval is pinned to the validated SHA with a post-submit head check to close races.

Auto-merge (squash) is enabled with the bot merge token so downstream publish workflows still fire (unlike merges done with GITHUB_TOKEN).

Reviewed by Cursor Bugbot for commit 6e8340c. Bugbot is set up for automated code reviews on this repo. Configure here.

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 4f84cb5. Configure here.

Comment thread .github/workflows/sdk_generation.yaml
mekilis added 3 commits July 20, 2026 20:32
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.
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.
@mekilis
mekilis merged commit a42ba89 into main Jul 20, 2026
3 checks passed
@mekilis
mekilis deleted the ci/sdk-regen-auto-review branch July 20, 2026 20:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant