Repository navigation
Expand file tree
/
Copy pathrenovate.json
More file actions
206 lines (206 loc) · 7.86 KB
/
Copy pathrenovate.json
File metadata and controls
206 lines (206 loc) · 7.86 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
// SPDX-FileCopyrightText: 2026 The Crossplane Authors <https://crossplane.io>
//
// SPDX-License-Identifier: Apache-2.0
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": ["config:recommended"],
// The maximum number of PRs to be created in parallel
"prConcurrentLimit": 5,
// The branches renovate should target
"baseBranchPatterns": ["main"],
"postUpdateOptions": ["gomodTidy", "gomodUpdateImportPaths"],
// All PRs should have a label
"labels": ["automated", "renovate"],
"crossplane": {
"managerFilePatterns": ["/(^|/)example/.*\\.ya?ml$/"]
},
"customManagers": [
{
// Go version in GH action workflows
"customType": "regex",
"description": "Bump Go version in GH Action workflows",
"managerFilePatterns": ["/^\\.github\\/workflows\\/[^/]+\\.ya?ml$/", "Dockerfile"],
"matchStrings": [
"GO_VERSION: ['\"]?(?<currentValue>.*?)['\"]?\\n",
"ARG GO_VERSION=(?<currentValue>.*?)\\n"
],
"datasourceTemplate": "golang-version",
"depNameTemplate": "go",
"packageNameTemplate": "go",
"depTypeTemplate": "golang"
},
{
// golangci-lint versions used through env variables in any GH Actions
"customType": "regex",
"description": "Bump golangci-lint version in workflows",
"managerFilePatterns": ["/^\\.github\\/workflows\\/[^/]+\\.ya?ml$/"],
"matchStrings": [
"GOLANGCI_VERSION: ['\"]?(?<currentValue>.*?)['\"]?\\n",
"GOLANGCILINT_VERSION: ['\"]?(?<currentValue>.*?)['\"]?\\n"
],
"datasourceTemplate": "github-releases",
"depNameTemplate": "golangci/golangci-lint"
},
{
// DOCKER_BUILDX_VERSION in GH action workflows
"customType": "regex",
"description": "Bump Docker Buildx version in workflows",
"managerFilePatterns": ["/^\\.github\\/workflows\\/[^/]+\\.ya?ml$/"],
"matchStrings": [
"DOCKER_BUILDX_VERSION: ['\"]?(?<currentValue>.*?)['\"]?\\n"
],
"datasourceTemplate": "github-releases",
"depNameTemplate": "docker/buildx"
},
{
// Crossplane CLI version in GH action workflows
// This follows github-releases, so assumes
// `stable` channel for `XP_CHANNEL`
"customType": "regex",
"description": "Bump Crossplane CLI version in GH action workflows",
"managerFilePatterns": ["/^\\.github\\/workflows\\/[^/]+\\.ya?ml$/"],
"matchStrings": [
"XP_VERSION: ['\"]?(?<currentValue>.*?)['\"]?\\n"
],
"datasourceTemplate": "github-releases",
"depNameTemplate": "crossplane/cli"
}
],
// PackageRules disabled below should be enabled in case of vulnerabilities
"vulnerabilityAlerts": {"enabled": true},
"osvVulnerabilityAlerts": true,
"packageRules": [
{
"matchManagers": ["crossplane"],
"matchFileNames": ["example/**"],
"groupName": "examples"
},
{
// Ignore k8s.io/client-go older versions as they switched to
// semantic version and old tags are still available in the repo.
"matchDatasources": ["go"],
"matchDepNames": ["k8s.io/client-go"],
"allowedVersions": "<1.0"
},
{
// single PR for all the patch bumps of kubernetes related
// dependencies, as most of the time these are all strictly related.
"matchDatasources": ["go"],
"groupName": "kubernetes patches",
"matchUpdateTypes": ["patch", "digest"],
// Do not include k8s.io/utils and k8s.io/kube-openapi, they have no version tags
// let other k8s dependencies auto-manage them transitively
"matchPackageNames": ["k8s.io{/,}**", "sigs.k8s.io{/,}**", "!k8s.io/utils{/,}**", "!k8s.io/kube-openapi{/,}**"]
},
{
// Dedicated PRs for each minor and major bumps to kubernetes related
// dependencies.
"matchDatasources": ["go"],
"matchUpdateTypes": ["major", "minor"],
"matchPackageNames": ["k8s.io{/,}**", "sigs.k8s.io{/,}**"],
// k8s library minor versions should typically follow
// crossplane-runtime for maximum compatibility.
// Let minor versions managed transitively and require
// dashboard approval.
"dependencyDashboardApproval": true
},
{
// Go XP dependencies separate major/minor/patch PRs
"description": "Separate PRs for major/minor/patch Crossplane Go dependencies",
"matchDatasources": ["go"],
"matchPackageNames": ["github.com/crossplane{/,}**"],
"separateMultipleMinor": true,
"separateMinorPatch": true,
"separateMajorMinor": true
},
{
// Allow Crossplane Go dependencies patch version bumps
"description": "Crossplane Go dependencies patch versions",
"matchDatasources": ["go"],
"matchUpdateTypes": ["patch"],
"matchPackageNames": ["github.com/crossplane{/,}**"]
},
{
// Go XP dependencies major/minor/digest with dashboard approval
// These potentially might involve dev work, so PRs should
// be either dashboard approved or opened as part of the dev work
"matchDatasources": ["go"],
"matchUpdateTypes": ["major", "minor", "digest"],
"matchPackageNames": ["github.com/crossplane{/,}**"],
"dependencyDashboardApproval": true
},
{
// Explicitly disable k8s.io/utils and k8s.io/kube-openapi digest updates,
// they have no version tags, let other k8s dependencies auto-manage them
// transitively
"matchDatasources": ["go"],
"matchUpdateTypes": ["digest"],
"enabled": false,
"matchPackageNames": ["k8s.io/utils{/,}**", "k8s.io/kube-openapi{/,}**"]
},
{
// Dedicated PRs for each bump to non-kubernetes and non-XP Go dependencies,
// but only if there are known vulnerabilities in the current version.
"matchDatasources": ["go"],
"matchPackageNames": ["!k8s.io{/,}**", "!sigs.k8s.io{/,}**", "!github.com/crossplane{/,}**"],
"enabled": false,
"matchUpdateTypes": ["major"]
},
{
// Single PR for all minor and patch bumps to non-kubernetes and non-XP Go
// dependencies, but only if there are known vulnerabilities in the current
// version.
"matchDatasources": ["go"],
"matchPackageNames": ["!k8s.io{/,}**", "!sigs.k8s.io{/,}**", "!github.com/crossplane{/,}**"],
"enabled": false,
"matchUpdateTypes": ["minor", "patch", "digest"],
"groupName": "all non-major go dependencies"
},
{
// Single PR for all minor and patch bumps of Github Actions
"matchDepTypes": ["action"],
"matchUpdateTypes": ["minor", "patch"],
"groupName": "all non-major github action",
"minimumReleaseAge": "3 days",
"pinDigests": true
},
{
// Single PR for bumping Crossplane and Crossplane CLI versions in CI
"matchDepNames": ["crossplane/crossplane", "crossplane/cli"],
"groupName": "crossplane versions in CI",
"groupSlug": "crossplane-in-ci"
},
{
// Single PR for bumping golangci-lint versions
"matchDepNames": ["golangci/golangci-lint"],
"groupName": "golangci-lint versions in CI",
"groupSlug": "golangci-lint-in-ci"
},
{
// Allow bumping the go version directive at go.mod
"matchDatasources": ["golang-version"],
"matchManagers": ["gomod"],
"matchDepNames": ["go"],
"matchDepTypes": ["golang"],
"rangeStrategy": "bump"
},
{
// Single PR for bumping Go version at the CI env vars and go.mod
"matchDatasources": ["golang-version"],
"matchPackageNames": ["go"],
"matchManagers": ["gomod", "custom.regex"],
"matchDepNames": ["go"],
"matchDepTypes": ["golang"],
"separateMinorPatch": true,
"groupName": "golang versions",
"groupSlug": "golang-versions",
"enabled": true
},
{
// We want dedicated PRs for each major bump to Github Actions
"matchDepTypes": ["action"],
"minimumReleaseAge": "3 days",
"pinDigests": true
}
]
}