Skip to content

fix(renovate): separate majors and automerge non-major updates - #63

Merged
martinfrancois merged 1 commit into
mainfrom
renovate-separate-majors
Aug 7, 2026
Merged

fix(renovate): separate majors and automerge non-major updates#63
martinfrancois merged 1 commit into
mainfrom
renovate-separate-majors

Conversation

@martinfrancois

Copy link
Copy Markdown
Owner

Why

group:all sets separateMajorMinor: false, so majors shared a branch with every other update. Combined with automerge: false on major updates, a single eligible major would place automerge: false on the one branch carrying all routine updates.

That was academic here until now, because this repository automerged nothing: automerge was false at the root and every package rule set it to false as well. Since GitHub Actions and the workflow-managed tooling are the only dependencies this repository has, those two rules disabled automatic merging entirely.

Change

  • Remove group:all. It cannot be kept in any form, because the preset itself sets separateMajorMinor: false.
  • Set separateMajorMinor and separateMultipleMajor, so a multi-version major jump arrives one step at a time and each migration guide applies to a diff containing only that release's breaking changes.
  • Group non-major updates (minor, patch, pin, pinDigest, digest) into one automergeable pull request.
  • Leave the major rule without a groupName, deliberately: majors are already ungrouped because the bundle matches non-major types only, and forcing one would split lockstep groups whose members must move together.
  • Drop dependencyDashboardApproval: true from the major rule. It suppressed pull-request creation entirely, so majors were invisible rather than merely review-required. Majors now open a pull request, labelled, with automerge: false.
  • Adopt the remaining shared settings: pinDigests, statusCheckWhen, unlimited concurrency, explicit dependencyDashboardApproval: false.

The custom managers for commitlint and the Tessl CLI are unchanged.

Gate

Non-major updates now merge unattended behind validate, Skill Review, Commitlint, and tessl-dry-run. A bad Actions or tooling bump fails those. Majors remain a human decision.

Note: this repository has no dependency manifest of any kind, so line coverage is not a meaningful gate here; the eval suite is.

Config validated with renovate-config-validator.

group:all sets separateMajorMinor to false, so majors shared a branch with
every other update. Remove it and group only the non-major update types
into one automergeable pull request, leaving majors ungrouped and
review-required.

This repository previously automerged nothing: automerge was false at the
root and every package rule set it to false. GitHub Actions and the
workflow-managed tooling are its only dependencies, so those rules
disabled automatic merging entirely.

Also drop dependencyDashboardApproval from the major rule, which
suppressed pull-request creation rather than merely requiring review, and
adopt pinDigests, statusCheckWhen and the shared concurrency settings.
@martinfrancois
martinfrancois merged commit a9be000 into main Aug 7, 2026
7 checks passed
@martinfrancois
martinfrancois deleted the renovate-separate-majors branch August 7, 2026 12:39
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