{ $schema: 'https://docs.renovatebot.com/renovate-schema.json', extends: [ 'config:recommended', // https://docs.renovatebot.com/presets-default/#configmigration ':configMigration', // https://docs.renovatebot.com/presets-customManagers/#custommanagersgithubactionsversions // Update _VERSION environment variables in GitHub Action files. 'customManagers:githubActionsVersions', ], schedule: [ '* * 1,15 * *' ], // 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', ], customManagers: [ // Update `uv` version in `crates/prek/src/languages/python/uv.rs` and CI workflows. { customType: 'regex', managerFilePatterns: [ '/src/languages/python/uv.rs$/', '/.github/workflows/.*\\.yml$/', ], datasourceTemplate: 'pypi', packageNameTemplate: 'uv', matchStrings: [ 'const\\s+CUR_UV_VERSION\\s*:\\s*&str\\s*=\\s*"(?\\d+\\.\\d+\\.\\d+)"', 'UV_VERSION:\\s*"(?\\d+\\.\\d+\\.\\d+)"', ] }, // Update major GitHub actions references in documentation. { customType: 'regex', managerFilePatterns: [ '/README\\.md$/', '/^docs/.*\\.md$/' ], matchStrings: [ '\\suses: (?[\\w-]+/[\\w-]+)(?/.*)?@(?.+?)\\s', ], datasourceTemplate: 'github-tags', versioningTemplate: 'regex:^v(?\\d+)$', }, ], packageRules: [ // Group all GitHub Actions updates together { groupName: 'GitHub Actions', matchManagers: ['github-actions'], matchDepTypes: ['action'], // Pin GitHub Actions to immutable SHAs pinDigests: true }, { groupName: 'pre-commit', matchManagers: ['pre-commit'], matchFileNames: ['.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 the msvc-dev-cmd action, the latest version does not work. { matchManagers: [ "github-actions" ], matchDepTypes: [ "action" ], matchDepNames: [ "ilammy/msvc-dev-cmd" ], enabled: false }, { matchManagers: [ 'cargo', 'pre-commit', 'github-actions', 'custom.regex' ], minimumReleaseAge: '7 days' } ] }