Skip to content

chore(renovate): gate patch automerge on release age and use platform automerge - #9

Merged
tobydoescode merged 1 commit into
mainfrom
chore/renovate-automerge-gates
Jul 28, 2026
Merged

chore(renovate): gate patch automerge on release age and use platform automerge#9
tobydoescode merged 1 commit into
mainfrom
chore/renovate-automerge-gates

Conversation

@tobydoescode

Copy link
Copy Markdown
Owner

Follow-up to #5, now that CI actually runs on every PR.

Context

Before #5 the only check on a Renovate PR was renovate/stability-days, which gates on release age and compiles nothing. Renovate's automerge does already wait on branch status (ignoreTests defaults to false) — there was simply nothing to wait for. With CI in place, patch automerge picks up that gate for free.

Two things still worth changing:

platformAutomerge: true

Delegates the merge to GitHub's native auto-merge, so an automergeable PR lands the moment checks go green instead of waiting for Renovate's next scheduled run.

This needs the repo-level auto-merge setting, which was false. Enabled:

$ gh api -X PATCH repos/tobydoescode/apple-bridge -f allow_auto_merge=true
{"allow_auto_merge":true,"allow_squash_merge":true,"delete_branch_on_merge":false}

Without that flag the config would have silently no-opped.

minimumReleaseAge: "3 days" on patch

Patch had no age gate at all — a release could automerge minutes after publication. 3 days leaves room for a bad release to be yanked or hotfixed before it reaches this repo. Minor (7 days) and major (30 days) are unchanged and stay manual.

Validation

$ npx --package renovate renovate-config-validator renovate.json
 INFO: Config validated successfully

Not done

main has no branch protection, so nothing structurally prevents a red PR being merged by hand — CI is advisory. Requiring the MCP server and Swift package checks would close that, but it also constrains direct pushes to main and applies to every PR, so leaving it as your call.

🤖 Generated with Claude Code

… automerge

Now that CI runs on every PR, Renovate's automerge has real checks to
wait on. Two adjustments:

- platformAutomerge delegates the merge to GitHub's native auto-merge,
  so an automergeable PR lands as soon as the checks go green rather
  than waiting for Renovate's next scheduled run. Requires the repo
  auto-merge setting, which has been enabled.

- Patch updates had no minimumReleaseAge, so a release could automerge
  minutes after publication. 3 days leaves room for a bad release to be
  yanked or hotfixed before it lands here.

Minor and major are unchanged: still manual, still 7 and 30 day gates.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@tobydoescode
tobydoescode merged commit 5a29331 into main Jul 28, 2026
2 checks passed
@tobydoescode
tobydoescode deleted the chore/renovate-automerge-gates branch July 28, 2026 16: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