diff --git a/renovate.json5 b/renovate.json5 index 40c6da3cc4e..f89e342b264 100644 --- a/renovate.json5 +++ b/renovate.json5 @@ -1,72 +1,85 @@ { - "extends": [ - "config:base", - ":semanticCommits", + extends: [ + 'config:recommended', + ':semanticCommits', ], - // Renovate Regex Manager Configuration - // - // A slight variation on the pattern documented within Renovate's docs: - // - // => https://docs.renovatebot.com/modules/manager/regex/ - // - // This powers a mechanism that allows Renovate (the package dependency - // manager that we use within this repository) to bump packages that live - // outside of typical package manifests (e.g., `package.json`) and instead - // any number of files. - // - // This pattern can be conceivably adapted to any pattern to allow the - // "Renovation" of nearly anything. This is largely what Renovate does - // behind the scenes for various datasources anyhow (e.g., Dockerfiles). - // - // You can find a list of data-source specific details on this page: - // - // => https://docs.renovatebot.com/modules/datasource/ - // - "regexManagers": [ + customManagers: [ + // Renovate Regex Manager Configuration + // + // A slight variation on the pattern documented within Renovate's docs: + // + // => https://docs.renovatebot.com/modules/manager/regex/ + // + // This powers a mechanism that allows Renovate (the package dependency + // manager that we use within this repository) to bump packages that live + // outside of typical package manifests (e.g., `package.json`) and instead + // any number of files. + // + // This pattern can be conceivably adapted to any pattern to allow the + // "Renovation" of nearly anything. This is largely what Renovate does + // behind the scenes for various datasources anyhow (e.g., Dockerfiles). + // + // You can find a list of data-source specific details on this page: + // + // => https://docs.renovatebot.com/modules/datasource/ + // { - "fileMatch": [ - "^\\.tool-versions$", - "(^|/)Dockerfile[^/]*$", - "^rust-toolchain\\.toml$", - "^docs/.*?\\.mdx$" + customType: 'regex', + fileMatch: [ + '^\\.tool-versions$', + '(^|/)Dockerfile[^/]*$', + '^rust-toolchain\\.toml$', + '^docs/.*?\\.mdx$', ], - "matchStrings": [ - "(#|)?\\n[^.]*?(?[0-9]+\\.[0-9]+\\.[0-9]+)\\b" + matchStrings: [ + '(#|)?\\n[^.]*?(?[0-9]+\\.[0-9]+\\.[0-9]+)\\b', ], - "depNameTemplate": "rust", - "datasourceTemplate": "docker" - } + depNameTemplate: 'rust', + datasourceTemplate: 'docker', + }, ], - "packageRules": [ + packageRules: [ // Don't do `rust` image updates on Dockerfiles since they'll we want them // managed/grouped into the package rule directly after this one. This // prevents multiple PRs for the same bump, and puts all our Rust version // bumps together. { - "matchPackageNames": ["rust"], - "matchManagers": ["dockerfile"], - "enabled": false + matchPackageNames: [ + 'rust', + ], + matchManagers: [ + 'dockerfile', + ], + enabled: false, }, { - // This "rust" name maps to the Docker Hub "rust" image above on account - // of the `regexManagers[0]` defined above being `datasourceTemplate` = `docker`. - "matchPackageNames": ["rust"], - "matchManagers": "regex", - "groupName": "rustc", - "branchName": "{{{branchPrefix}}}rustc" + matchPackageNames: [ + 'rust', + ], + matchManagers: 'regex', + groupName: 'rustc', + branchName: '{{{branchPrefix}}}rustc', }, // Bunch up all non-major dependencies into a single PR. In the common case // where the upgrades apply cleanly, this causes less noise and is resolved faster // than starting a bunch of upgrades in parallel for what may turn out to be // a suite of related packages all released at once. { - "matchCurrentVersion": ">= 1.0.0", - "matchManagers": [ "cargo", "npm" ], - "excludePackageNames": [], - "matchUpdateTypes": ["minor", "patch", "pin", "digest"], - "groupName": "all non-major packages >= 1.0", - "groupSlug": "all-non-major-gte-1.0", - "automerge": true, + matchCurrentVersion: '>= 1.0.0', + matchManagers: [ + 'cargo', + 'npm', + ], + matchUpdateTypes: [ + 'minor', + 'patch', + 'pin', + 'digest', + ], + groupName: 'all non-major packages >= 1.0', + groupSlug: 'all-non-major-gte-1.0', + automerge: true, + matchPackageNames: [], }, // We're currently constrained in our ability to update the `tracing` // packages to the latest versions because of our usage. As an extension @@ -77,16 +90,16 @@ // in the `/apollo-router/Cargo.toml` file around the declarations for // `^opentelemetry` and `^tracing` packages. { - "matchManagers": [ - "cargo" + matchManagers: [ + 'cargo', ], - "matchPackagePatterns": [ - "^tracing", - "^opentelemetry", + groupName: 'cargo tracing packages', + groupSlug: 'cargo-tracing-packages', + dependencyDashboardApproval: true, + matchPackageNames: [ + '/^tracing/', + '/^opentelemetry/', ], - "groupName": "cargo tracing packages", - "groupSlug": "cargo-tracing-packages", - "dependencyDashboardApproval": true }, // Our own `apollo-` packages deserve to get front-and-center treatment. // We'll put them in their own PR to facilitate workflows that surface @@ -94,11 +107,15 @@ // They also have a small proclivity to require more hands-on changes // since they're pre-0.x and we use them so extensively. { - "matchPackagePatterns": ["^apollo-"], - "groupName": "apollo-rs crates", - "groupSlug": "rust-apollo-rs-updates", - "matchManagers": ["cargo"], - "automerge": false - } - ] + groupName: 'apollo-rs crates', + groupSlug: 'rust-apollo-rs-updates', + matchManagers: [ + 'cargo', + ], + automerge: false, + matchPackageNames: [ + '/^apollo-/', + ], + }, + ], }