{ $schema: 'https://docs.renovatebot.com/renovate-schema.json', extends: [ 'config:recommended', 'schedule:monthly', ], // release.yml is generated by cargo-dist and should not be updated. ignorePaths: [ '.github/workflows/release.yml' ], prHourlyLimit: 10, labels: [ 'internal' ], semanticCommits: 'disabled', // pre-commit is currently in beta testing, must opt in 'pre-commit': { enabled: true }, enabledManagers: [ 'github-actions', 'pre-commit', 'cargo', 'custom.regex', 'mise' ], customManagers: [ // Custom manager to update the bundled uv version with the latest uv version from PyPI. { customType: 'regex', managerFilePatterns: [ '/src/languages/python/uv.rs$/' ], datasourceTemplate: 'pypi', packageNameTemplate: 'uv', matchStrings: [ 'const\\s+CUR_UV_VERSION\\s*:\\s*&str\\s*=\\s*"(?\\d+\\.\\d+\\.\\d+)"' ] } ], packageRules: [ // Group all GitHub Actions updates together { groupName: 'GitHub Actions', matchManagers: ['github-actions'], matchDepTypes: ['action'], // Pin GitHub Actions to immutable SHAs pinDigests: true }, // Group all pre-commit updates in examples/ together { groupName: 'pre-commit (examples)', matchManagers: ['pre-commit'], matchPaths: ['examples/**'] }, { groupName: 'pre-commit', matchManagers: ['pre-commit'], matchPaths: ['.pre-commit-config.yaml'] }, // Annotate GitHub Actions SHAs with a SemVer version. { extends: [ 'helpers:pinGitHubActionDigests' ], extractVersion: '^(?v?\\d+\\.\\d+\\.\\d+)$', versioning: 'regex:^v?(?\\d+)(\\.(?\\d+)\\.(?\\d+))?$' }, // Disable updates for GitHub runners: we'd only pin them to a specific version // if there was a deliberate reason to do so { groupName: 'GitHub runners', matchManagers: [ 'github-actions' ], matchDatasources: [ 'github-runners' ], description: "Disable PRs updating GitHub runners (e.g. 'runs-on: macos-14')", enabled: false }, // Disable updates for mise managed toolchains { matchManagers: [ 'mise' ], matchDepNames: [ 'rust', 'node', 'python', 'go' ], enabled: false } ] }