watchtower/.github/renovate.json5
Nick Fedor 82f4307fcd
Add digest handling
Added pinDigests: true explicit setting.
Added SHA regex
2025-02-01 01:13:43 -07:00

219 lines
4.4 KiB
Text

{
$schema: 'https://docs.renovatebot.com/renovate-schema.json',
extends: [
'config:recommended',
'docker:enableMajor',
':disableRateLimiting',
':dependencyDashboard',
':semanticCommits',
':automergeBranch',
],
dependencyDashboard: true,
dependencyDashboardTitle: 'Renovate Dashboard 🤖',
suppressNotifications: [
'prEditedNotification',
'prIgnoreNotification',
],
rebaseWhen: 'conflicted',
schedule: [
'every weekend',
],
commitMessageAction: 'Update digest',
commitMessageTopic: '{{depName}}',
commitMessageExtra: 'to {{newVersion}}',
commitMessageSuffix: '',
packageRules: [
{
description: [
'Auto merge Github Actions',
],
matchManagers: [
'github-actions',
],
pinDigests: true,
automerge: true,
automergeType: 'branch',
ignoreTests: true,
matchUpdateTypes: [
'minor',
'patch',
'digest',
],
},
{
matchDatasources: [
'docker',
],
commitMessageTopic: 'image {{depName}}',
},
{
matchDatasources: [
'docker',
],
matchUpdateTypes: [
'major',
],
commitMessagePrefix: 'feat(container)!: ',
},
{
matchDatasources: [
'docker',
],
matchUpdateTypes: [
'minor',
],
semanticCommitType: 'feat',
semanticCommitScope: 'container',
},
{
matchDatasources: [
'docker',
],
matchUpdateTypes: [
'patch',
],
semanticCommitType: 'fix',
semanticCommitScope: 'container',
},
{
matchDatasources: [
'docker',
],
matchUpdateTypes: [
'digest',
],
semanticCommitType: 'chore',
semanticCommitScope: 'container',
},
{
matchDatasources: [
'github-releases',
'github-tags',
],
matchUpdateTypes: [
'major',
],
commitMessagePrefix: 'feat(github-release)!: ',
},
{
matchDatasources: [
'github-releases',
'github-tags',
],
matchUpdateTypes: [
'minor',
],
semanticCommitType: 'feat',
semanticCommitScope: 'github-release',
},
{
matchDatasources: [
'github-releases',
'github-tags',
],
matchUpdateTypes: [
'patch',
],
semanticCommitType: 'fix',
semanticCommitScope: 'github-release',
},
{
matchManagers: [
'github-actions',
],
matchUpdateTypes: [
'major',
],
commitMessagePrefix: 'feat(github-action)!: ',
},
{
matchManagers: [
'github-actions',
],
matchUpdateTypes: [
'minor',
],
semanticCommitType: 'feat',
semanticCommitScope: 'github-action',
},
{
matchManagers: [
'github-actions',
],
matchUpdateTypes: [
'patch',
],
semanticCommitType: 'fix',
semanticCommitScope: 'github-action',
},
{
matchUpdateTypes: [
'major',
],
labels: [
'type/major',
],
},
{
matchUpdateTypes: [
'minor',
],
labels: [
'type/minor',
],
},
{
matchUpdateTypes: [
'patch',
],
labels: [
'type/patch',
],
},
{
matchDatasources: [
'docker',
],
addLabels: [
'renovate/container',
],
},
{
matchDatasources: [
'github-releases',
'github-tags',
],
addLabels: [
'renovate/github-release',
],
},
{
matchManagers: [
'github-actions',
],
addLabels: [
'renovate/github-action',
],
},
],
customManagers: [
{
customType: "regex",
description: ["Process custom Docker dependencies"],
fileMatch: ["^Dockerfile$"], // Match only Dockerfile for Watchtower
matchStrings: [
"FROM (?<depName>[^\\s]+)(?<currentValue>:[^\\s]+)?\\s*", // Simplified for Docker images
],
datasourceTemplate: "docker",
},
{
customType: "regex",
description: ["Process GitHub Actions commits"],
fileMatch: ["\\.github/workflows/.*\\.ya?ml$"],
matchStrings: [
"uses: (?<depName>[^@/]+/[^@/]+)@(?<currentValue>[a-f0-9]{40})", // Matches SHA for GitHub Actions
],
datasourceTemplate: "github",
},
],
}