Shared Renovate presets for repositories in the Rust Project, maintained by the Infrastructure Team.
To know more about Renovate and how to use it in repositories of the Rust Project, see the Rust Forge documentation.
Warning
These presets are intended for use within the Rust Project and we don't support their use outside of it.
To use the default preset, add the following to your Renovate configuration file
(e.g. .github/renovate.json5):
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": ["github>rust-lang/renovate"]
}If you want to learn how to customize Renovate's behavior, keep reading!
base: extendsconfig:recommended, and enables vulnerability alert PRs.actions: enables GitHub Actions updates, pinning action digests to SemVer-compatible refs. All GitHub Actions updates are grouped into a single PR and scheduled weekly.lockfile: enables weekly lock file updates (e.g.cargo update) and disables PRs for non-breaking updates for Rust, JavaScript, and TypeScript packages. This is because lock file updates already include non-breaking updates. Breaking updates (e.g.1.2.3to2.0.0) are updated into separate PRs.default: This is the recommended preset for most repositories in the Rust Project.
Here's a diagram of the presets and how they extend each other
(e.g. default extends both actions and lockfile):
graph TD
recommended["config:recommended"] --> base["base"]
base --> actions["actions"]
base --> lockfile["lockfile"]
actions --> default["default"]
lockfile --> default
The quickstart section above shows how to use the default preset in a repository.
To use a different preset (e.g. actions), add the following to your Renovate configuration file:
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": ["github>rust-lang/renovate:actions"]
}Presets won't work for all repositories. You can adopt them and customize them in your repository by overriding specific configuration options.
Both the actions and lockfile presets default to Renovate's
schedule:weekly
preset, which resolves to Monday before 4 AM.
To override them in a repository:
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": ["github>rust-lang/renovate"],
"lockFileMaintenance": {
"extends": ["schedule:monthly"]
},
"packageRules": [
{
"matchManagers": ["github-actions"],
"extends": ["schedule:monthly"]
}
]
}Note
schedule:monthly means "on the first day of the month, before 4AM".
See the Schedule Presets documentation for more details.
The minimum release age option allows you to specify a minimum age for releases before Renovate considers them for updates.
{
"minimumReleaseAge": "7 days"
}We didn't set it as default because:
- You could miss security updates. If a GitHub repository isn't setup correctly or a security vulnerability isn't properly reported, Renovate won't update to the latest patched version.
- It could be confusing for maintainers.
We might enable this option in the future.