How to Manage Cross-Repo Dependency Updates With Renovate
A shared Renovate preset in one repo lets every other repo extend the same update policy, keeping dependency PRs consistent across a polyrepo.
Publish a base config in a central repo, then each repo extends it in renovate.json. Renovate opens update PRs everywhere using one set of rules you maintain in a single place.
Steps
- Create a shared preset (for example
renovate-config/default.json) in a central repo. - In each repo, add
renovate.jsonthatextendsthe shared preset. - Override only the repo-specific bits locally.
Shared preset
default.json
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": ["config:recommended"],
"schedule": ["before 6am on monday"],
"packageRules": [
{ "matchUpdateTypes": ["minor", "patch"], "automerge": true }
]
}Per-repo config extending it
renovate.json
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": ["local>my-org/renovate-config"]
}Gotchas
- A change to the shared preset affects every repo that extends it, so version or review preset changes.
- Group internal packages with
packageRulesso related bumps land in one PR per repo.
Related guides
How to Configure Dependabot Consistently Across ReposStandardize Dependabot version updates across many repositories by templating dependabot.yml and syncing it,…
How to Propagate a Version Bump Across RepositoriesWhen a shared library releases a new version, open update pull requests in every consuming repo automatically…