Why this matters
Renovate only helps if its merge requests get merged. Each open merge request is a fix or an improvement that exists but has not shipped. Left alone they pile up, the dependency drifts further from current, and the eventual catch-up becomes a bigger, riskier change. Merge requests that reference a security advisory are the urgent ones: while they wait, every user of the package is exposed to a published vulnerability.
What good looks like
- Security update merge requests are merged within two weeks.
- Regular version bumps are merged within a month.
- The list of open Renovate merge requests is short and recent.
How to do it
Make a routine
Pick a regular moment, weekly works for most projects, to go through open Renovate merge requests. Merge the ones with a passing pipeline. Look into the ones that fail.
Let the pipeline do the checking
A good test suite turns each merge request into a yes or no. If a dependency bump passes the pipeline, merging it is low risk. Investing in tests pays back every week in faster reviews.
Group related updates
Renovate can combine updates so you review one merge request instead of many:
{
"extends": ["config:recommended"],
"packageRules": [
{
"matchUpdateTypes": ["minor", "patch"],
"matchDepTypes": ["require-dev"],
"groupName": "dev dependencies (non-major)"
}
]
}
The group:allNonMajor preset does the same for every non-major update.
Auto-merge the safe ones
Renovate can merge minor and patch updates itself once the pipeline passes:
{
"extends": ["config:recommended"],
"packageRules": [
{
"matchUpdateTypes": ["minor", "patch"],
"automerge": true
}
]
}
Use the dependency dashboard
Renovate can maintain a "Dependency Dashboard" issue that lists every pending update, including ones it has not opened a merge request for yet. It gives you one place to see what is waiting and to trigger or dismiss updates.
Close what you will not merge
If an update cannot be merged, close the merge request and add an ignoreDeps entry or a packageRules entry so Renovate stops re-proposing it. An open merge request that will never be merged is noise that hides the ones that matter.
Things to watch for
- Security merge requests waiting behind ordinary ones. Renovate marks vulnerability fixes in the merge request description. Do those first.
- A failing pipeline nobody investigates. A red pipeline means the update needs a code change on your side. That is worth knowing early.
- Concurrency limits.
prConcurrentLimitcaps how many merge requests stay open. If old ones linger, new updates wait behind them. - Renaming the bot. Self-hosted Renovate can run under any account name. Keep
renovatein the bot's username, or keep the defaultrenovate/branch prefix, so tooling can recognize its merge requests.