Skip to content

renovate: add update-soak windows; majors never automerge - #6

Merged
cewert merged 2 commits into
mainfrom
chore/renovate-soak-windows
Jun 12, 2026
Merged

renovate: add update-soak windows; majors never automerge#6
cewert merged 2 commits into
mainfrom
chore/renovate-soak-windows

Conversation

@cewert

@cewert cewert commented Jun 12, 2026

Copy link
Copy Markdown
Member

What

Adds update-soak windows to the org Renovate preset, makes PRs visible immediately while they soak, and tightens automerge by update type.

Update type Soak (minimumReleaseAge) Automerge
patch + digest 2 days ✅ on green CI
minor 5 days ✅ on green CI (CI bar raised — see contract)
major 7 days never (manual; follow the Major-bump SOP)

Why

Auto-merge previously fired the instant CI went green with zero minimum-release-age, so a yanked or hotfixed release could land unattended on main of any repo extending this default. A short soak lets the ecosystem surface a bad release before it merges, without stalling routine patches.

Behavior details

  • internalChecksFilter: "none" — Renovate's default (strict) suppresses a PR while the release is still within minimumReleaseAge, hiding it during the soak. With none, the PR is created immediately (with a pending renovate/stability-days check), so every update is visible and a human can manually merge early (e.g. a hotfix). The soak only gates automerge. Dropped the Monday schedule from minor/major so PRs aren't batched.
  • Minor automerge after a 5-day soak + green CI (was manual). The automerge contract now notes minor automerge raises the CI bar (runtime tests, not just build+lint); repos can override to disable.
  • Major-bump SOP section added; majors stay manual.

Notes

  • README's automerge-contract section updated; new Major-bump SOP added.
  • JellyRock mirrors these tiers in its own renovate.json short-term so it's covered before this preset propagates; that local duplicate will be removed once this is live.

Auto-merge previously fired the instant CI was green with zero
minimumReleaseAge, so a yanked or hotfixed release could land unattended.
Add soak windows: patch/digest 2 days (still automerge), minor 5 days,
major 7 days. Split the combined minor+major rule so majors get an
explicit automerge:false — a major is always human-reviewed regardless
of CI. Update README's contract section to match.
Two behavior changes on top of the soak windows:

- internalChecksFilter:none — Renovate's default (strict) suppresses a PR
  while the release is still within minimumReleaseAge, hiding it during the
  soak. With 'none' the PR is created immediately (pending stability check),
  so every update is visible and a human can manually merge early (e.g. a
  hotfix); the soak only gates AUTOMERGE. Also dropped the Monday schedule
  from minor/major so PRs aren't batched.
- Minor updates now automerge after a 5-day soak + green CI (was manual).
  Contract updated: minor automerge raises the CI bar (runtime tests, not
  just build+lint); repos can override to disable.

Added a Major-bump SOP section. Majors stay manual.
cewert added a commit to jellyrock/jellyrock that referenced this pull request Jun 12, 2026
…r 5d

Mirrors the org-preset update (jellyrock/.github#6):
- internalChecksFilter:none so soaking PRs are created immediately and a hotfix
  can be merged manually early; the soak only gates automerge.
- minor + patch/digest automerge after their soak + green CI. JellyRock's CI
  (on-device unit tests + RTA) clears the raised bar for minor automerge.
sgRouter carve-out stays no-automerge.
@cewert
cewert merged commit c5d4695 into main Jun 12, 2026
1 check passed
@cewert
cewert deleted the chore/renovate-soak-windows branch June 12, 2026 17:18
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