From 2a9b685e7bea0f44e73ed3dea1c401570c0037ab Mon Sep 17 00:00:00 2001 From: Kjeld Schouten Date: Sun, 13 Oct 2024 02:06:37 +0200 Subject: [PATCH] more renovate work --- .github/renovate/basics/commitMessage.json5 | 16 ++ .github/renovate/basics/labels.json5 | 37 ++++ .github/renovate/kinds/astro.json5 | 3 +- .github/renovate/kinds/docker.json5 | 1 + .github/renovate/kinds/flux.json5 | 1 + .github/renovate/kinds/githubactions.json5 | 1 + .github/renovate/kinds/go.json5 | 3 +- .github/renovate/kinds/helm-values.json5 | 1 + .github/renovate/kinds/helm.json5 | 1 + .github/renovate/main.json5 | 4 +- .github/renovate/special/customManagers.json5 | 23 +++ .github/renovate/special/customRules.json5 | 40 ++++ .github/renovate/special/groups.json5 | 177 ++++++++++++++++++ .github/renovate/updates/calver.json5 | 1 - .github/renovate/updates/digest.json5 | 3 +- .github/renovate/updates/major.json5 | 3 +- .github/renovate/updates/minor.json5 | 3 +- .github/renovate/updates/patch.json5 | 3 +- 18 files changed, 309 insertions(+), 12 deletions(-) create mode 100644 .github/renovate/basics/commitMessage.json5 create mode 100644 .github/renovate/basics/labels.json5 create mode 100644 .github/renovate/special/customManagers.json5 create mode 100644 .github/renovate/special/customRules.json5 create mode 100644 .github/renovate/special/groups.json5 diff --git a/.github/renovate/basics/commitMessage.json5 b/.github/renovate/basics/commitMessage.json5 new file mode 100644 index 00000000000..ccbdb195e63 --- /dev/null +++ b/.github/renovate/basics/commitMessage.json5 @@ -0,0 +1,16 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "commitMessageTopic": "{{depName}}", + "commitMessageExtra": "{{currentVersion}} → {{newVersion}}", + "commitMessageSuffix": "", + "packageRules": [ + { + "matchDatasources": ["helm"], + "commitMessageTopic": "chart {{depName}}" + }, + { + "matchDatasources": ["docker", "helm-values"], + "commitMessageTopic": "image {{depName}}" + } + ] +} \ No newline at end of file diff --git a/.github/renovate/basics/labels.json5 b/.github/renovate/basics/labels.json5 new file mode 100644 index 00000000000..17aa4a84afb --- /dev/null +++ b/.github/renovate/basics/labels.json5 @@ -0,0 +1,37 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "packageRules": [ + { + "matchUpdateTypes": ["major"], + "labels": ["type/major"] + }, + { + "matchUpdateTypes": ["minor"], + "labels": ["type/minor"] + }, + { + "matchUpdateTypes": ["patch"], + "labels": ["type/patch"] + }, + { + "matchUpdateTypes": ["digest"], + "labels": ["type/digest"] + }, + { + "matchDatasources": ["docker"], + "addLabels": ["renovate/container"] + }, + { + "matchDatasources": ["helm"], + "addLabels": ["renovate/helm"] + }, + { + "matchDatasources": ["github-releases", "github-tags"], + "addLabels": ["renovate/github-release"] + }, + { + "matchManagers": ["github-actions"], + "addLabels": ["renovate/github-action"] + } + ] +} \ No newline at end of file diff --git a/.github/renovate/kinds/astro.json5 b/.github/renovate/kinds/astro.json5 index 0c477a59831..980b313c8dd 100644 --- a/.github/renovate/kinds/astro.json5 +++ b/.github/renovate/kinds/astro.json5 @@ -11,7 +11,8 @@ "updateTypes": ["major", "minor", "patch", "digest"], // Allow updates for all version types "ignore": [ // Specify any dependencies or versions to ignore - ] + ], + "semanticCommitScope": "astro", }, "ignoreDeps": [ // List any dependencies to ignore globally if needed diff --git a/.github/renovate/kinds/docker.json5 b/.github/renovate/kinds/docker.json5 index 7c4dc64f7a9..27893014c89 100644 --- a/.github/renovate/kinds/docker.json5 +++ b/.github/renovate/kinds/docker.json5 @@ -12,6 +12,7 @@ "enabled": true, // Enable Docker image updates "commitMessageSuffix": "fix: update Docker image", // Customize commit message suffix "updateTypes": ["major", "minor", "patch", "digest"], // Allow updates for all version types + "semanticCommitScope": "container", "ignore": [ "talconfig.yaml" // Exclude any file named talconfig.yaml ] diff --git a/.github/renovate/kinds/flux.json5 b/.github/renovate/kinds/flux.json5 index 77b1b3b690e..781ba40c657 100644 --- a/.github/renovate/kinds/flux.json5 +++ b/.github/renovate/kinds/flux.json5 @@ -8,6 +8,7 @@ "enabled": true, // Enable Flux updates "updateTypes": ["major", "minor", "patch"], // Allow updates for all version types "commitMessageSuffix": "fix: update Flux helm-release" // Customize commit message suffix + "semanticCommitScope": "Flux Objects", }, "ignore": [ diff --git a/.github/renovate/kinds/githubactions.json5 b/.github/renovate/kinds/githubactions.json5 index d253387edad..fd16437cf3d 100644 --- a/.github/renovate/kinds/githubactions.json5 +++ b/.github/renovate/kinds/githubactions.json5 @@ -9,6 +9,7 @@ "enabled": true, // Enable GitHub Actions updates "commitMessageSuffix": "fix: update GitHub Actions", // Customize commit message suffix "updateTypes": ["major", "minor", "patch", "digest"], // Allow updates for all version types + "semanticCommitScope": "github-action", "ignore": [ // Specify any actions or workflows to ignore ] diff --git a/.github/renovate/kinds/go.json5 b/.github/renovate/kinds/go.json5 index 709c3ac652c..3313c42103c 100644 --- a/.github/renovate/kinds/go.json5 +++ b/.github/renovate/kinds/go.json5 @@ -11,7 +11,8 @@ "updateTypes": ["major", "minor", "patch", "digest"], // Allow updates for all version types "ignore": [ // Specify any modules or versions to ignore - ] + ], + "semanticCommitScope": "go", }, "ignoreDeps": [ // List any dependencies to ignore globally if needed diff --git a/.github/renovate/kinds/helm-values.json5 b/.github/renovate/kinds/helm-values.json5 index 27185a0a5d6..02c320a05ae 100644 --- a/.github/renovate/kinds/helm-values.json5 +++ b/.github/renovate/kinds/helm-values.json5 @@ -8,6 +8,7 @@ "enabled": true, // Enable image reference updates in values.yaml "updateTypes": ["major", "minor", "patch", "digest"], // Allow updates for all version types "commitMessageSuffix": "fix: update image references" // Customize commit message suffix + "semanticCommitScope": "container", }, "ignore": [ // Add any global ignores here if needed diff --git a/.github/renovate/kinds/helm.json5 b/.github/renovate/kinds/helm.json5 index 0e41f1898ed..110897c8ffc 100644 --- a/.github/renovate/kinds/helm.json5 +++ b/.github/renovate/kinds/helm.json5 @@ -6,6 +6,7 @@ "Chart\\.ya?ml(?:\\.j2)?$" // Matches Chart.yaml or Chart.yml files, optionally with a .j2 extension ], "enabled": true, // Enable Helm chart updates + "semanticCommitScope": "helm", "updateTypes": ["major", "minor", "patch"], // Allow updates for all version types "commitMessageSuffix": "fix: update Helm chart" // Customize commit message suffix }, diff --git a/.github/renovate/main.json5 b/.github/renovate/main.json5 index 6f6e464dc09..f6a224c6b13 100644 --- a/.github/renovate/main.json5 +++ b/.github/renovate/main.json5 @@ -6,7 +6,9 @@ "github>truecharts/public//.github/renovate/updates/minor.json5", "github>truecharts/public//.github/renovate/updates/major.json5", "github>truecharts/public//.github/renovate/updates/calver.json5", - "github>truecharts/public//.github/renovate/special/automerge.json5" + "github>truecharts/public//.github/renovate/basics/commitMessage.json5", + "github>truecharts/public//.github/renovate/basics/labels.json5", + "github>truecharts/public//.github/renovate/special/groups.json5" ] // Main Renovate configuration that lists package rules for various paths "packageRules": [ diff --git a/.github/renovate/special/customManagers.json5 b/.github/renovate/special/customManagers.json5 new file mode 100644 index 00000000000..4fb8fe68bff --- /dev/null +++ b/.github/renovate/special/customManagers.json5 @@ -0,0 +1,23 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "customManagers": [ + { + "customType": "regex", + "description": ["Process custom dependencies"], + "fileMatch": ["(^|/)kubernetes/.+\\.ya?ml(?:\\.j2)?$"], + "matchStrings": [ + "datasource=(?\\S+) depName=(?\\S+)( repository=(?\\S+))?\\n.+: (&\\S+\\s)?(?\\S+)", + "datasource=(?\\S+) depName=(?\\S+)\\n.+/(?(v|\\d)[^/]+)" + ], + "datasourceTemplate": "{{#if datasource}}{{{datasource}}}{{else}}github-releases{{/if}}" + }, + { + "customType": "regex", + "description": ["Process CloudnativePG Postgresql version"], + "fileMatch": ["(^|/)kubernetes/.+\\.ya?ml(?:\\.j2)?$"], + "matchStrings": ["imageName: (?\\S+):(?.*\\-.*)"], + "datasourceTemplate": "docker", + "versioningTemplate": "redhat" + } + ] +} \ No newline at end of file diff --git a/.github/renovate/special/customRules.json5 b/.github/renovate/special/customRules.json5 new file mode 100644 index 00000000000..2fc858f2711 --- /dev/null +++ b/.github/renovate/special/customRules.json5 @@ -0,0 +1,40 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "packageRules": [ + { + "description": ["Loose versioning for non-semver packages"], + "matchDatasources": ["docker"], + "matchPackagePatterns": ["cross-seed", "plex"], + "versioning": "loose" + }, + { + "description": ["Custom schedule for frequently updated packages"], + "matchDataSources": ["docker", "helm"], + "matchPackagePatterns": ["minio", "postgresql", "reloader"], + "schedule": ["on the first day of the month"] + }, + { + "description": ["Custom versioning for k3s"], + "matchDatasources": ["github-releases"], + "matchPackagePatterns": ["k3s"], + "versioning": "regex:^v(?\\d+)\\.(?\\d+)\\.(?\\d+)(?\\+k3s)(?\\d+)$" + }, + { + "description": ["Custom versioning for minio"], + "matchDatasources": ["docker"], + "matchPackagePatterns": ["minio"], + "versioning": "regex:^RELEASE\\.(?\\d+)-(?\\d+)-(?\\d+)T.*Z$" + }, + { + "matchDatasources": ["docker"], + "matchPackagePatterns": ["kopia"], + "allowedVersions": "<999" + }, + { + "matchDatasources": ["docker"], + "matchPackagePatterns": ["postgresql"], + "allowedVersions": "<17" + } + + ] +} \ No newline at end of file diff --git a/.github/renovate/special/groups.json5 b/.github/renovate/special/groups.json5 new file mode 100644 index 00000000000..20d57744cf3 --- /dev/null +++ b/.github/renovate/special/groups.json5 @@ -0,0 +1,177 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "packageRules": [ + { + "description": ["1Password Connect Group"], + "groupName": "1Password Connnect", + "matchPackagePatterns": ["1password/connect"], + "matchDatasources": ["docker"], + "group": { + "commitMessageTopic": "{{{groupName}}} group" + }, + "separateMinorPatch": true + }, + { + "description": ["Actions Runner Controller Group"], + "groupName": "Actions Runner Controller", + "matchPackagePatterns": ["gha-runner-scale-set"], + "matchDatasources": ["docker", "helm"], + "group": { + "commitMessageTopic": "{{{groupName}}} group" + }, + "separateMinorPatch": true + }, + { + "description": ["Flux Group"], + "groupName": "Flux", + "matchPackagePatterns": ["fluxcd"], + "matchDatasources": ["docker", "github-tags"], + "versioning": "semver", + "group": { + "commitMessageTopic": "{{{groupName}}} group" + }, + "separateMinorPatch": true + }, + { + "description": ["Intel Device Plugins Group"], + "groupName": "Intel-Device-Plugins", + "matchPackagePatterns": ["intel-device-plugins"], + "matchDatasources": ["helm"], + "group": { + "commitMessageTopic": "{{{groupName}}} group" + }, + "separateMinorPatch": true + }, + { + "description": ["Rook-Ceph Group"], + "groupName": "Rook-Ceph", + "matchPackagePatterns": ["rook.ceph"], + "matchDatasources": ["helm"], + "group": { + "commitMessageTopic": "{{{groupName}}} group" + }, + "separateMinorPatch": true + }, + { + "description": ["Talos Group"], + "groupName": "Talos", + "matchPackagePatterns": ["siderolabs/talosctl", "siderolabs/installer"], + "matchDatasources": ["docker"], + "group": { + "commitMessageTopic": "{{{groupName}}} group" + }, + "separateMinorPatch": true + }, + { + matchDatasources: ["docker"], + versioning: "regex:^v(?\\d+)-(?\\d+)$", + matchPackagePrefixes: ["jupyter"], + groupName: "jupyter", + }, + { + matchDatasources: ["docker"], + matchPackagePrefixes: ["altran1502/immich"], + groupName: "immich", + }, + { + matchDatasources: ["docker"], + matchPackagePrefixes: ["portainer"], + groupName: "portainer", + }, + { + matchDatasources: ["docker"], + matchPackagePrefixes: ["m1k1o/neko"], + groupName: "neko", + }, + { + matchDatasources: ["docker"], + matchPackagePrefixes: ["ghcr.io/mriedmann/humhub-"], + groupName: "humhub", + }, + { + matchDatasources: ["docker"], + matchPackagePrefixes: ["lscr.io/linuxserver/webtop"], + groupName: "webtop", + }, + { + matchDatasources: ["docker"], + matchPackagePrefixes: ["lscr.io/linuxserver/rdesktop"], + groupName: "rdesktop", + }, + { + matchDatasources: ["docker"], + matchPackagePrefixes: ["tccr.io/tccr/metallb"], + groupName: "metallb", + }, + { + matchDatasources: ["docker"], + matchPackagePrefixes: ["zabbix/zabbix"], + groupName: "zabbix", + }, + { + matchDatasources: ["docker"], + matchPackagePrefixes: ["vikunja"], + groupName: "vikunja", + }, + { + matchDatasources: ["docker"], + matchPackagePrefixes: ["mltooling/ml-workspace"], + groupName: "ml-workspace", + }, + { + matchDatasources: ["docker"], + matchPackagePrefixes: ["itzg/bungeecord"], + groupName: "bungeecord", + }, + { + matchDatasources: ["docker"], + matchPackagePrefixes: ["tccr.io/tccr/nextcloud-"], + groupName: "nextcloud", + }, + { + matchDatasources: ["docker"], + matchPackagePrefixes: ["itzg/minecraft-java"], + groupName: "minecraft-java", + }, + { + matchDatasources: ["docker"], + matchPackagePrefixes: ["reallibrephotos/librephotos"], + groupName: "librephotos", + }, + { + matchDatasources: ["docker"], + matchPackagePrefixes: ["tombursch/kitchenowl"], + groupName: "kitchenowl", + }, + { + matchDatasources: ["docker"], + matchPackagePrefixes: ["ghcr.io/goauthentik/"], + groupName: "authentik", + }, + { + matchDatasources: ["docker"], + matchPackagePrefixes: ["cwq1913/lama-cleaner"], + groupName: "lama-cleaner", + }, + { + matchDatasources: ["docker"], + matchPackagePrefixes: ["docspell/"], + groupName: "docspell", + }, + { + matchDatasources: ["docker"], + matchPackagePrefixes: ["datarhei/restreamer"], + groupName: "restreamer", + }, + { + matchDatasources: ["docker"], + matchPackagePrefixes: ["penpotapp/"], + groupName: "penpot", + }, + { + matchDatasources: ["docker"], + matchPackagePrefixes: ["jasongdove/ersatztv"], + groupName: "ersatztv", + } + ] +} \ No newline at end of file diff --git a/.github/renovate/updates/calver.json5 b/.github/renovate/updates/calver.json5 index 08247a838ff..c8c49d54ad8 100644 --- a/.github/renovate/updates/calver.json5 +++ b/.github/renovate/updates/calver.json5 @@ -3,7 +3,6 @@ "calver": { "enabled": true, // Enable CalVer updates "versioning": ["calver"], // Specify that this uses CalVer versioning - "commitMessageSuffix": "fix: update CalVer dependencies", // Customize commit message suffix "regexVersioning": { "versioning": "calver", // Specify CalVer as the versioning strategy "versioningRegex": "^\\d{4}\\.\\d{1,2}(\\.\\d{1,2})?$" // Example regex for CalVer: YYYY.MM or YYYY.MM.DD diff --git a/.github/renovate/updates/digest.json5 b/.github/renovate/updates/digest.json5 index 5dfcdb89664..e5e1b90c23a 100644 --- a/.github/renovate/updates/digest.json5 +++ b/.github/renovate/updates/digest.json5 @@ -2,8 +2,7 @@ "$schema": "https://docs.renovatebot.com/renovate-schema.json", "digest": { "enabled": true, // Enable digest updates - "automerge": true, - "commitMessageSuffix": "fix: update image digest" // Customize commit message suffix for digest updates + "automerge": true }, "ignore": [ // Add any paths or patterns to ignore specific digest updates, if necessary diff --git a/.github/renovate/updates/major.json5 b/.github/renovate/updates/major.json5 index e06ac920c70..f28e5c79f1f 100644 --- a/.github/renovate/updates/major.json5 +++ b/.github/renovate/updates/major.json5 @@ -1,8 +1,7 @@ { "$schema": "https://docs.renovatebot.com/renovate-schema.json", "major": { - "enabled": true, // Enable minor updates - "commitMessageSuffix": "major: BREAKING CHANGE update dependencies" // Customize commit message suffix for minor updates + "enabled": true // Enable minor updates }, "ignore": [ // Add any paths or patterns to ignore specific minor updates, if necessary diff --git a/.github/renovate/updates/minor.json5 b/.github/renovate/updates/minor.json5 index 18049d85987..19b50df09ae 100644 --- a/.github/renovate/updates/minor.json5 +++ b/.github/renovate/updates/minor.json5 @@ -1,8 +1,7 @@ { "$schema": "https://docs.renovatebot.com/renovate-schema.json", "minor": { - "enabled": true, // Enable minor updates - "commitMessageSuffix": "feat: update dependencies" // Customize commit message suffix for minor updates + "enabled": true // Enable minor updates }, "ignore": [ // Add any paths or patterns to ignore specific minor updates, if necessary diff --git a/.github/renovate/updates/patch.json5 b/.github/renovate/updates/patch.json5 index 82c021b3cfc..7a9b5153616 100644 --- a/.github/renovate/updates/patch.json5 +++ b/.github/renovate/updates/patch.json5 @@ -2,8 +2,7 @@ "$schema": "https://docs.renovatebot.com/renovate-schema.json", "patch": { "enabled": true, // Enable patch updates - "automerge": true, - "commitMessageSuffix": "fix: update dependencies" // Customize commit message suffix for patch updates + "automerge": true }, "ignore": [ // Add any paths or patterns to ignore specific patch updates, if necessary