blob: 233f26e02c1e21e3dfb4d3f07353e6f56227048d [file]
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:recommended",
"schedule:monthly",
"helpers:pinGitHubActionDigestsToSemver",
"replacements:all",
"abandonments:recommended"
],
"configMigration": true,
"dependencyDashboard": true,
"separateMajorMinor": false,
// By default, Renovate will only create 2 PRs in any single hourly interval.
// But we only allow Renovate to create PRs between midnight and 4am on the first
// day of each month, so this is not sufficient in general. Per the docs,
// 0 means "no limit": <https://docs.renovatebot.com/configuration-options/#prhourlylimit>
"prHourlyLimit": 0,
// Similarly, by default, Renovate will not create any new PRs if it already has 10 open
// on this repo, but that isn't generally what we want: we generally want dependency update PRs
// for all available dependencies. Per the docs, 0 means "no limit":
// <https://docs.renovatebot.com/configuration-options/#prconcurrentlimit>
"prConcurrentLimit": 0,
// Conventions: we generally don't use semantic commits.
"semanticCommits": "disabled",
// These notifications are very noisy.
"suppressNotifications": ["prEditedNotification"],
"enabledManagers": ["github-actions", "custom.regex", "pre-commit", "pep621"],
"pre-commit": {
"enabled": true
},
"minimumReleaseAge": "7 days",
"packageRules": [
{
// Pin versions already in use without waiting for the upgrade cooldown.
"matchUpdateTypes": ["pinDigest"],
"minimumReleaseAge": null
},
{
// Preserve Python versions, runners, and containers. The custom manager
// handles tool inputs so uv's version and checksum are updated together.
"matchManagers": ["github-actions"],
"matchDepTypes": ["uses-with", "github-runner", "docker", "container", "service"],
"enabled": false
},
{
// Only manage build requirements; preserve Python support and library dependencies.
"matchManagers": ["pep621"],
"matchDepTypes": ["!build-system.requires"],
"enabled": false
},
{
"matchFileNames": [".pre-commit-config.yaml"],
"groupName": "pre-commit dependencies"
},
{
"matchFileNames": [".github/workflows/**"],
"groupName": "GitHub Actions dependencies"
},
{
"matchManagers": ["pep621"],
"groupName": "Build dependencies"
}
],
"customManagers": [
{
"customType": "regex",
"managerFilePatterns": ["/^\\.github/workflows/(ci|third_party)\\.yml$/"],
"matchStrings": [
"# renovate: datasource=(?<datasource>\\S+) depName=(?<depName>\\S+)\\s+version: \"(?<currentValue>[^\"\\r\\n]+)\"(?:\\s+checksum: \"(?<currentDigest>[a-f0-9]{64})\")?"
],
"versioningTemplate": "semver"
}
]
}