Skip to content

Commit 4febb51

Browse files
authored
Merge pull request #1510 from NVIDIA/renovateci
Renovate: Automate operand version bumps in GPU Operator
2 parents c117a16 + ca41db8 commit 4febb51

File tree

3 files changed

+122
-4
lines changed

3 files changed

+122
-4
lines changed

.github/renovate.json

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
{
2+
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
3+
"prHourlyLimit": 10,
4+
"prConcurrentLimit": 10,
5+
"dependencyDashboard": false,
6+
"extends": [
7+
"config:recommended",
8+
":disableDependencyDashboard",
9+
"config:recommended",
10+
":disableDependencyDashboard",
11+
"config:recommended",
12+
":disableDependencyDashboard",
13+
"config:recommended",
14+
":disableDependencyDashboard",
15+
"config:recommended",
16+
":disableDependencyDashboard",
17+
"config:recommended",
18+
":disableDependencyDashboard",
19+
"config:recommended",
20+
":disableDependencyDashboard",
21+
"config:recommended",
22+
":disableDependencyDashboard"
23+
],
24+
"forkProcessing": "enabled",
25+
"ignorePaths": ["vendor/**"],
26+
"enabledManagers": ["custom.regex"],
27+
"recreateWhen": "always",
28+
"separateMultipleMajor": false,
29+
"separateMinorPatch": false,
30+
"customManagers": [
31+
{
32+
"customType": "regex",
33+
"managerFilePatterns": [
34+
"bundle/manifests/gpu-operator-certified.clusterserviceversion.yaml"
35+
],
36+
"matchStrings": [
37+
"[-\\s]*value:\\s*\"?(?<depName>[^:\"]+)(?::(?<currentValue>[^@\"]+))?@(?<currentDigest>sha256:[a-f0-9]{64})\"?",
38+
"[-\\s]*image: (?<depName>.*?)(?::(?<currentValue>.*?))?@(?<currentDigest>sha256:[a-f0-9]{64})",
39+
"- name: (?<suffix>[\\w-]+)[-\\s]*image: (?<depName>.*?)(?::(?<currentValue>.*?))?@(?<currentDigest>sha256:[a-f0-9]{64})"
40+
],
41+
"versioningTemplate": "{{depName}}{{#if newValue}}:{{newValue}}{{/if}}{{#if newDigest}}@{{newDigest}}{{/if}}",
42+
"datasourceTemplate": "docker"
43+
},
44+
{
45+
"customType": "regex",
46+
"managerFilePatterns": [
47+
"deployments/gpu-operator/values.yaml"
48+
],
49+
"matchStrings": [
50+
"[-\\s]*repository:\\s*(?<repo>\\S+)\\s*\\n(?:\\s*#.*\\n|\\s*\\n)*[-\\s]*image:\\s*(?<image>\\S+)\\s*\\n(?:\\s*#.*\\n|\\s*\\n)*[-\\s]*version:\\s*(?<currentValue>\\S+)"
51+
],
52+
"depNameTemplate": "{{repo}}/{{image}}",
53+
"datasourceTemplate": "docker",
54+
"versioningTemplate": "loose"
55+
}
56+
],
57+
"packageRules": [
58+
{
59+
"matchPaths": ["deployments/gpu-operator/values.yaml"],
60+
"matchPackageNames": [
61+
"nvcr.io/nvidia/cloud-native/k8s-driver-manager",
62+
"nvcr.io/nvidia/cloud-native/k8s-kata-manager",
63+
"nvcr.io/nvidia/cloud-native/vgpu-device-manager",
64+
"nvcr.io/nvidia/cloud-native/vgpu-cc-manager",
65+
"nvcr.io/nvidia/kubevirt-gpu-device-plugin",
66+
"nvcr.io/nvidia/k8s-device-plugin"
67+
],
68+
"versioning": "regex:^v?(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)$",
69+
"separateMajorMinor": false
70+
},
71+
{
72+
"matchPaths": ["deployments/gpu-operator/values.yaml"],
73+
"matchPackageNames": [
74+
"nvcr.io/nvidia/k8s/container-toolkit",
75+
"nvcr.io/nvidia/cloud-native/k8s-mig-manager"
76+
],
77+
"versioning": "regex:^v?(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)-ubuntu(?<ubuntu>\\d+\\.\\d+)$",
78+
"separateMajorMinor": false
79+
},
80+
{
81+
"matchPaths": ["deployments/gpu-operator/values.yaml"],
82+
"matchPackageNames": [
83+
"nvcr.io/nvidia/cuda"
84+
],
85+
"versioning": "regex:^(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)-base-ubi9$",
86+
"separateMajorMinor": false
87+
},
88+
{
89+
"groupName": "bump all nvcr packages for deploymens and clusterservice, skip driver",
90+
"matchPackageNames": ["/.*/"]
91+
},
92+
{
93+
"matchPackageNames": ["nvcr.io/nvidia/driver"],
94+
"enabled": false
95+
}
96+
]
97+
}

.github/workflows/renovate.yaml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
name: Renovate
2+
3+
on:
4+
schedule:
5+
- cron: "0 9 * * *" # every day at 9:00 AM UTC
6+
7+
jobs:
8+
renovate:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- name: Checkout code
12+
uses: actions/checkout@v4
13+
14+
- name: Run Renovate
15+
uses: renovatebot/[email protected]
16+
with:
17+
configurationFile: .github/renovate.json
18+
env:
19+
RENOVATE_TOKEN: ${{ secrets.GITHUB_TOKEN }}
20+
RENOVATE_REPOSITORIES: '["NVIDIA/gpu-operator"]'
21+
RENOVATE_ONBOARDING: false

deployments/gpu-operator/values.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,8 @@ operator:
7878
# to be passed during helm upgrade.
7979
upgradeCRD: true
8080
initContainer:
81-
image: cuda
8281
repository: nvcr.io/nvidia
82+
image: cuda
8383
version: 12.8.1-base-ubi9
8484
imagePullPolicy: IfNotPresent
8585
tolerations:
@@ -190,8 +190,8 @@ driver:
190190
timeoutSeconds: 300
191191
deleteEmptyDir: false
192192
manager:
193-
image: k8s-driver-manager
194193
repository: nvcr.io/nvidia/cloud-native
194+
image: k8s-driver-manager
195195
# When choosing a different version of k8s-driver-manager, DO NOT downgrade to a version lower than v0.6.4
196196
# to ensure k8s-driver-manager stays compatible with gpu-operator starting from v24.3.0
197197
version: v0.8.0
@@ -426,8 +426,8 @@ vgpuManager:
426426
env: []
427427
resources: {}
428428
driverManager:
429-
image: k8s-driver-manager
430429
repository: nvcr.io/nvidia/cloud-native
430+
image: k8s-driver-manager
431431
# When choosing a different version of k8s-driver-manager, DO NOT downgrade to a version lower than v0.6.4
432432
# to ensure k8s-driver-manager stays compatible with gpu-operator starting from v24.3.0
433433
version: v0.8.0
@@ -456,8 +456,8 @@ vfioManager:
456456
env: []
457457
resources: {}
458458
driverManager:
459-
image: k8s-driver-manager
460459
repository: nvcr.io/nvidia/cloud-native
460+
image: k8s-driver-manager
461461
# When choosing a different version of k8s-driver-manager, DO NOT downgrade to a version lower than v0.6.4
462462
# to ensure k8s-driver-manager stays compatible with gpu-operator starting from v24.3.0
463463
version: v0.8.0

0 commit comments

Comments
 (0)