blob: 390a41c64931b52ac79a527543f46f73b300f226 [file]
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
// Use https://github.com/rust-lang/renovate/blob/main/actions.json
"github>rust-lang/renovate:actions",
// Open a PR to migrate the config when Renovate deprecates syntax
":configMigration",
// Refresh lock files weekly
":maintainLockFilesWeekly",
],
// Cargo manifests in this repository use unstable features.
"env": {
"RUSTC_BOOTSTRAP": "1"
},
// The compiler and rustbook workspaces have path dependencies in these
// submodules.
"cloneSubmodules": true,
"cloneSubmodulesFilter": [
"src/doc/book",
"src/doc/reference"
],
// Require manual approval from the Dependency Dashboard before opening PRs,
// except for the update types explicitly configured below.
"dependencyDashboardApproval": true,
// No dashboard approval necessary for security updates
"vulnerabilityAlerts": {
"dependencyDashboardApproval": false
},
// Renovate shouldn't update a PR if it is in the bors merge queue.
"stopUpdatingLabel": "S-waiting-on-bors",
"packageRules": [
{
// No dashboard approval necessary for GitHub Actions updates
"matchManagers": ["github-actions"],
"dependencyDashboardApproval": false
},
{
// No dashboard approval necessary for lock file maintenance
"matchUpdateTypes": ["lockFileMaintenance"],
"dependencyDashboardApproval": false
},
{
// Set defaults for all Cargo.lock files.
// library/Cargo.lock is grouped into a dedicated PR by the more
// specific rule below.
"matchManagers": ["cargo"],
"matchUpdateTypes": ["lockFileMaintenance"],
"groupName": "Cargo lock file maintenance",
"commitMessageAction": "Compiler and tools lock file update",
// Renovate merges all matching rules, so the lockfiles rules below
// also inherits this note and asks Triagebot for a dep-bumps reviewer.
"prBodyNotes": ["r? dep-bumps"]
},
{
// Update library/Cargo.lock in a dedicated PR.
"matchManagers": ["cargo"],
"matchUpdateTypes": ["lockFileMaintenance"],
"matchFileNames": ["library/Cargo.lock"],
"groupName": "library lock file maintenance",
"commitMessageAction": "Library lock file update"
},
{
// These packages don't have a committed Cargo.lock file.
"matchManagers": ["cargo"],
"matchUpdateTypes": ["lockFileMaintenance"],
"matchFileNames": [
"library/rustc-std-workspace-*/Cargo.toml",
],
"enabled": false
},
{
// Update yarn.lock in a dedicated PR.
"matchManagers": ["npm"],
"matchUpdateTypes": ["lockFileMaintenance"],
"groupName": "Yarn lock file maintenance",
"commitMessageAction": "Yarn lock file update"
}
],
"ignorePaths": [
// Don't manage dependencies inside subtrees. They are updated upstream and
// synced in. See `src/doc/rustc-dev-guide/src/external-repos.md` for the list.
"compiler/rustc_codegen_cranelift/**",
"compiler/rustc_codegen_gcc/**",
"library/compiler-builtins/**",
"library/portable-simd/**",
"library/stdarch/**",
"src/doc/rustc-dev-guide/**",
"src/tools/clippy/**",
"src/tools/miri/**",
"src/tools/rust-analyzer/**",
"src/tools/rustfmt/**",
// Test manifests are fixtures; their versions and lockfiles may
// intentionally be part of the test input.
"tests/**",
]
}