Files
livekit/renovate.json
T
Benjamin PrachtandClaude Opus 5 906764691c Group livekit dependency updates in renovate (#4791)
First-party livekit modules are co-released and depend on each other,
so bump them together in a single PR instead of one PR per module.

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-24 14:21:55 -07:00

81 lines
3.2 KiB
JSON

{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:recommended",
"helpers:pinGitHubActionDigests"
],
"minimumReleaseAge": "2 weeks",
"commitBody": "Generated by renovateBot",
"prConcurrentLimit": 5,
"vulnerabilityAlerts": {
"enabled": true,
"minimumReleaseAge": "2 days",
"prConcurrentLimit": 0,
"prHourlyLimit": 0,
"schedule": []
},
"packageRules": [
{
"matchManagers": ["github-actions"],
"groupName": "github workflows"
},
{
"matchManagers": ["dockerfile"],
"groupName": "docker deps",
"pinDigests": true
},
{
"description": "Go modules are never grouped: each module gets its own PR so a bad bump can be reverted on its own",
"matchManagers": ["gomod"],
"groupName": null
},
{
"description": "Exception to the rule above: the pion modules are co-released and depend on each other, so bumping them one at a time produces PRs that don't build",
"matchManagers": ["gomod"],
"matchPackageNames": ["github.com/pion{/,}**"],
"groupName": "pion deps"
},
{
"description": "First-party deps, no need to quarantine new releases; they are co-released and depend on each other, so they are grouped into a single PR",
"matchManagers": ["gomod"],
"matchPackageNames": [
"github.com/livekit{/,}**"
],
"groupName": "livekit deps",
"minimumReleaseAge": null
},
{
"description": "The go directive is the module minimum, owned by the go toolchain and dependency requirements; the build toolchain is pinned in the Dockerfile builder image instead",
"matchManagers": ["gomod"],
"matchDepTypes": ["golang"],
"enabled": false
},
{
"description": "Build toolchain pin (Dockerfile golang image): a patch bump (stays on the current minor) and a minor bump each get their own approvable PR",
"matchManagers": ["dockerfile"],
"matchPackageNames": ["golang"],
"groupName": null,
"separateMinorPatch": true
}
],
"customManagers": [
{
"customType": "regex",
"description": "Bump the builder image's Alpine suffix (golang:X.Y.Z-alpineA.B) along with its pinned digest. The base docker manager only bumps the Go version and holds the Alpine suffix fixed. This looks up the golang image (not alpine) with regex versioning that treats the Alpine minor as the version to bump and the Go version as the fixed compatibility, so Renovate only proposes an Alpine that actually exists as a published golang tag. The digest is captured so a suffix bump rewrites the pin instead of leaving a stale one.",
"managerFilePatterns": [
"/(^|/)Dockerfile$/",
"/(^|/)[^/]*\\.Dockerfile$/"
],
"matchStrings": ["FROM golang:(?<currentValue>\\d+\\.\\d+\\.\\d+-alpine\\d+\\.\\d+)@(?<currentDigest>sha256:[0-9a-f]+)"],
"datasourceTemplate": "docker",
"depNameTemplate": "golang",
"versioningTemplate": "regex:^(?<compatibility>\\d+\\.\\d+\\.\\d+)-alpine(?<major>\\d+)\\.(?<minor>\\d+)$"
}
],
"postUpdateOptions": [
"gomodTidy"
],
"schedule": ["before 9am on monday"],
"updateNotScheduled": false
}