fix: renovate groups

This commit is contained in:
auricom
2022-07-31 00:25:03 +02:00
parent 2288fac460
commit aec66ff64f
2 changed files with 123 additions and 155 deletions

172
.github/renovate.json5 vendored
View File

@@ -1,5 +1,5 @@
{
"extends": [
extends: [
":enableRenovate",
"config:base",
":disableRateLimiting",
@@ -9,147 +9,115 @@
"docker:enableMajor",
":enablePreCommit",
"github>auricom/home-ops//.github/renovate/autoMerge",
"github>auricom/home-ops//.github/renovate/groups",
"github>auricom/home-ops//.github/renovate/labels",
"github>auricom/home-ops//.github/renovate/semanticCommits"
"github>auricom/home-ops//.github/renovate/semanticCommits",
],
"platform": "github",
"username": "feisar-bot[bot]",
"repositories": ["auricom/home-ops"],
"assignees": ["auricom"],
"onboarding": false,
"requireConfig": false,
"gitAuthor": "feisar-bot <feisar-bot[bot]@users.noreply.github.com>",
"dependencyDashboardTitle": "Renovate Dashboard 🤖",
"suppressNotifications": [
"prIgnoreNotification"
],
"rebaseWhen": "conflicted",
"ignorePaths": [
platform: "github",
username: "feisar-bot[bot]",
repositories: ["auricom/home-ops"],
assignees: ["auricom"],
onboarding: false,
requireConfig: false,
gitAuthor: "feisar-bot <feisar-bot[bot]@users.noreply.github.com>",
dependencyDashboardTitle: "Renovate Dashboard 🤖",
suppressNotifications: ["prIgnoreNotification"],
rebaseWhen: "conflicted",
ignorePaths: [
"cluster/base/",
"**/backup-job.yaml",
"**/trash-updater-job.yaml",
"**/travelstories/**"
"**/travelstories/**",
],
// set up renovate managers
"docker-compose": {
"fileMatch": [
"(^|\/)docker-compose.*\.ya?ml$",
"(^|\/)docker-compose.*\.ya?ml\.j2$"
]
fileMatch: [
"(^|/)docker-compose.*.ya?ml$",
"(^|/)docker-compose.*.ya?ml.j2$",
],
},
"helm-values": {
"fileMatch": [
"cluster/.+/helm-release\\.yaml$"
]
fileMatch: ["cluster/.+/helm-release\\.yaml$"],
},
"helmv3": {
"fileMatch": [
"charts/.+/Chart\\.yaml$"
]
helmv3: {
fileMatch: ["charts/.+/Chart\\.yaml$"],
},
"kubernetes": {
"fileMatch": [
"cluster/.+\\.yaml$"
]
kubernetes: {
fileMatch: ["cluster/.+\\.yaml$"],
},
"flux": {
"fileMatch": [
"cluster/.+\\.yaml$"
]
flux: {
fileMatch: ["cluster/.+\\.yaml$"],
},
"regexManagers": [
regexManagers: [
{
"description": "Process CRD dependencies",
"fileMatch": ["cluster/configuration/crds/.+\\.ya?ml$"],
"matchStrings": [
description: "Process CRD dependencies",
fileMatch: ["cluster/configuration/crds/.+\\.ya?ml$"],
matchStrings: [
// GitRepository where 'Git release/tag' matches 'Helm' version
"registryUrl=(?<registryUrl>\\S+) chart=(?<depName>\\S+)\n.*?(?<currentValue>[^-\\s]*)\n",
// Kustomization where 'GitHub release artifact URL' matches 'Docker image' version
"datasource=(?<datasource>\\S+) image=(?<depName>\\S+)\n.*?-\\s(.*?)\/(?<currentValue>[^/]+)\/[^/]+\n"
"datasource=(?<datasource>\\S+) image=(?<depName>\\S+)\n.*?-\\s(.*?)/(?<currentValue>[^/]+)/[^/]+\n",
],
"datasourceTemplate": "{{#if datasource}}{{{datasource}}}{{else}}helm{{/if}}"
datasourceTemplate: "{{#if datasource}}{{{datasource}}}{{else}}helm{{/if}}",
},
{
"description": "Process various dependencies",
"fileMatch": [
"ansible/.+\\.ya?ml$",
"cluster/.+\\.ya?ml$"
description: "Process various dependencies",
fileMatch: ["ansible/.+\\.ya?ml$", "cluster/.+\\.ya?ml$"],
matchStrings: [
'datasource=(?<datasource>\\S+) depName=(?<depName>\\S+)( versioning=(?<versioning>\\S+))?\n.*?"(?<currentValue>.*)"\n',
],
"matchStrings": [
"datasource=(?<datasource>\\S+) depName=(?<depName>\\S+)( versioning=(?<versioning>\\S+))?\n.*?\"(?<currentValue>.*)\"\n"
],
"datasourceTemplate": "{{#if datasource}}{{{datasource}}}{{else}}github-releases{{/if}}",
"versioningTemplate": "{{#if versioning}}{{{versioning}}}{{else}}semver{{/if}}"
datasourceTemplate: "{{#if datasource}}{{{datasource}}}{{else}}github-releases{{/if}}",
versioningTemplate: "{{#if versioning}}{{{versioning}}}{{else}}semver{{/if}}",
},
{
"description": "Process raw GitHub URLs",
"fileMatch": ["cluster/.+\\.ya?ml$"],
"matchStrings": [
"https:\\/\\/raw.githubusercontent.com\\/(?<depName>[\\w\\d\\-_]+\\/[\\w\\d\\-_]+)\\/(?<currentValue>[\\w\\d\\.\\-_]+)\\/.*"
description: "Process raw GitHub URLs",
fileMatch: ["cluster/.+\\.ya?ml$"],
matchStrings: [
"https:\\/\\/raw.githubusercontent.com\\/(?<depName>[\\w\\d\\-_]+\\/[\\w\\d\\-_]+)\\/(?<currentValue>[\\w\\d\\.\\-_]+)\\/.*",
],
"datasourceTemplate": "github-releases",
"versioningTemplate": "semver"
}
datasourceTemplate: "github-releases",
versioningTemplate: "semver",
},
],
"packageRules": [
packageRules: [
// setup datasources
{
"matchDatasources": [
"helm"
],
"ignoreDeprecated": true
matchDatasources: ["helm"],
ignoreDeprecated: true,
},
{
"matchDatasources": [
"docker"
],
"commitMessageExtra": "to {{newVersion}}"
matchDatasources: ["docker"],
commitMessageExtra: "to {{newVersion}}",
},
// custom versioning
{
"matchDatasources": [
"docker"
],
"versioning": "regex:^(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)-(?<compatibility>.*)$",
"matchPackageNames": [
"blakeblackshear/frigate"
]
matchDatasources: ["docker"],
versioning: "regex:^(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)-(?<compatibility>.*)$",
matchPackageNames: ["blakeblackshear/frigate"],
},
{
"matchDatasources": [
"docker"
],
"versioning": "regex:^RELEASE\\.(?<major>\\d+)-(?<minor>\\d+)-(?<patch>\\d+)T.*Z(-(?<compatibility>.*))?$",
"matchPackageNames": [
"quay.io/minio/minio"
]
matchDatasources: ["docker"],
versioning: "regex:^RELEASE\\.(?<major>\\d+)-(?<minor>\\d+)-(?<patch>\\d+)T.*Z(-(?<compatibility>.*))?$",
matchPackageNames: ["quay.io/minio/minio"],
},
{
"matchDatasources": [
"docker"
],
"versioning": "loose",
"matchPackageNames": [
"ghcr.io/k8s-at-home/qbittorrent"
]
matchDatasources: ["docker"],
versioning: "loose",
matchPackageNames: ["ghcr.io/k8s-at-home/qbittorrent"],
},
{
"matchDatasources": [
"docker"
],
"versioning": "regex:^version-v(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)$",
"matchPackageNames": [
matchDatasources: ["docker"],
versioning: "regex:^version-v(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)$",
matchPackageNames: [
"ghcr.io/linuxserver/bookstack",
"ghcr.io/linuxserver/calibre",
"ghcr.io/linuxserver/healthchecks"
]
"ghcr.io/linuxserver/healthchecks",
],
},
{
"matchDatasources": [
"docker"
],
"versioning": "regex:^version-(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)$",
"matchPackageNames": ["ghcr.io/linuxserver/resilio-sync"]
}
]
}
matchDatasources: ["docker"],
versioning: "regex:^version-(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)$",
matchPackageNames: ["ghcr.io/linuxserver/resilio-sync"],
},
],
}

View File

@@ -1,54 +1,54 @@
{
"packageRules": [
{
"description": "Cert-Manager image (for CRDs) and chart",
"groupName": "Cert-Manager",
"matchPackagePatterns": ["cert-manager"],
"matchDatasources": ["docker", "helm"],
"group": { "commitMessageTopic": "{{{groupName}}} group" },
"separateMinorPatch": true
},
{
"description": "External Snapshotter kustomization (for CRDs) and chart",
"groupName": "External Snapshotter",
"matchPackagePatterns": ["external-snapshotter", "snapshot-controller"],
"matchDatasources": ["docker", "github-tags"],
"group": { "commitMessageTopic": "{{{groupName}}} group" },
"separateMinorPatch": true
},
{
"description": "Node Feature Discovery kustomization (for CRDs) and chart",
"groupName": "Node Feature Discovery",
"matchPackagePatterns": ["node-feature-discovery"],
"matchDatasources": ["helm", "github-tags"],
"group": { "commitMessageTopic": "{{{groupName}}} group" },
"separateMinorPatch": true
},
{
"description": "Rook-Ceph image and chart",
"groupName": "Rook-Ceph",
"matchPackagePatterns": ["rook"],
"matchDatasources": ["docker", "helm"],
"group": { "commitMessageTopic": "{{{groupName}}} group" },
"separateMinorPatch": true
},
{
"description": "Thanos image and chart - mismatched versions",
"groupName": "Thanos",
"matchPackagePatterns": ["thanos"],
"matchDatasources": ["docker", "github-releases", "helm"],
"matchUpdateTypes": ["minor", "patch"],
"group": { "commitMessageTopic": "{{{groupName}}} group" },
"separateMinorPatch": false
},
{
"description": "Vector image and chart - mismatched versions",
"groupName": "Vector",
"matchPackagePatterns": ["vector"],
"matchDatasources": ["docker", "github-releases", "helm"],
"matchUpdateTypes": ["minor", "patch"],
"group": { "commitMessageTopic": "{{{groupName}}} group" },
"separateMinorPatch": false
}
]
}
"packageRules": [
{
"description": "Cert-Manager image (for CRDs) and chart",
"groupName": "Cert-Manager",
"matchPackagePatterns": ["cert-manager"],
"matchDatasources": ["docker", "helm"],
"group": { "commitMessageTopic": "{{{groupName}}} group" },
"separateMinorPatch": true
},
{
"description": "External Snapshotter kustomization (for CRDs) and chart",
"groupName": "External Snapshotter",
"matchPackagePatterns": ["external-snapshotter", "snapshot-controller"],
"matchDatasources": ["docker", "github-tags"],
"group": { "commitMessageTopic": "{{{groupName}}} group" },
"separateMinorPatch": true
},
{
"description": "Node Feature Discovery kustomization (for CRDs) and chart",
"groupName": "Node Feature Discovery",
"matchPackagePatterns": ["node-feature-discovery"],
"matchDatasources": ["helm", "github-tags"],
"group": { "commitMessageTopic": "{{{groupName}}} group" },
"separateMinorPatch": true
},
{
"description": "Rook-Ceph image and chart",
"groupName": "Rook-Ceph",
"matchPackagePatterns": ["rook.ceph"],
"matchDatasources": ["docker", "helm"],
"group": { "commitMessageTopic": "{{{groupName}}} group" },
"separateMinorPatch": true
},
{
"description": "Thanos image and chart - mismatched versions",
"groupName": "Thanos",
"matchPackagePatterns": ["thanos"],
"matchDatasources": ["docker", "github-releases", "helm"],
"matchUpdateTypes": ["minor", "patch"],
"group": { "commitMessageTopic": "{{{groupName}}} group" },
"separateMinorPatch": false
},
{
"description": "Vector image and chart - mismatched versions",
"groupName": "Vector",
"matchPackagePatterns": ["vector"],
"matchDatasources": ["docker", "github-releases", "helm"],
"matchUpdateTypes": ["minor", "patch"],
"group": { "commitMessageTopic": "{{{groupName}}} group" },
"separateMinorPatch": false
}
]
}