chore(renovate): group non-major updates into a single PR - #2831
Conversation
Reduces per-dependency PR volume by adding `group:allNonMajor`, which collapses minor and patch updates across all managers into one grouped PR. Majors and security alerts remain unchanged.
Greptile SummaryAdds the Confidence Score: 5/5Safe to merge — single-line config addition with no code changes and well-understood Renovate preset semantics. The change is a one-line addition of a well-known, officially-supported Renovate preset. It does not affect application code, tests, or build logic. The existing packageRules for gomod (gomodTidy, gomodUpdateImportPaths) are unaffected and will still apply within grouped PRs. No P0/P1 findings were identified. No files require special attention. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Renovate detects dependency update] --> B{Major version bump?}
B -- Yes --> C[Individual PR per dependency]
B -- No minor or patch --> D{Vulnerability alert?}
D -- Yes --> E[Individual vulnerability-alert PR]
D -- No --> F[Grouped into single non-major PR]
F --> G{gomod manager?}
G -- Yes --> H[Apply gomodTidy and gomodUpdateImportPaths]
G -- No --> I[PR opened as-is]
Reviews (1): Last reviewed commit: "chore(renovate): group non-major updates..." | Re-trigger Greptile |
oleg-ssvlabs
left a comment
There was a problem hiding this comment.
Nice.
Does this change mean that updates for major versions will remain as separate PRs?
Yes. |
Codecov Report✅ All modified and coverable lines are covered by tests. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
This pull request has been marked as stale due to 60 days of inactivity. It will be closed in 30 days if there are no updates. Please comment if you would like to keep it open. |
Summary
group:allNonMajorpreset to Renovate config.minorandpatchdependency updates across all managers (gomod, npm, dockerfile, github-actions) into a single grouped PR titledchore(deps): update all non-major dependencies.Context
ssvlabs/ssvcurrently has 16 open Renovate PRs, the oldest from May 2025. Historical merge rate is ~12% (3/26) — most PRs age out and are auto-closed byabandonments:recommendedwithout ever being reviewed. The main driver is per-dependency PR sprawl: each minor/patch release of each dep opens its own PR.This pilot is intentionally a single-line change (one added preset) to isolate the effect before layering further improvements (scheduling, rebase-behavior tuning, vulnerability-alert separation).
Expected effect on current queue
After the next Renovate run, ~8 of the 16 open PRs collapse into one grouped PR (minor/patch across otel/sdk [sec], go-ethereum [sec], btcd/btcec, litter, go-chi/render, docker/docker [sec], styled-components, postcss [sec]). The remaining 8 (digest bumps, pin-deps PRs, config migration, abandoned-tagged) are unchanged.
Test plan
chore(deps): update all non-major dependenciesPR is opened againststage.matchManagers-scoped grouping (e.g. gomod-only).