Skip to content

Commit b013410

Browse files
holyspectralwilliamlin-suse
authored andcommitted
feat: bump versions using updatecli
1 parent 2cb8c94 commit b013410

4 files changed

Lines changed: 228 additions & 0 deletions

File tree

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: Update helm charts
2+
on:
3+
workflow_dispatch:
4+
jobs:
5+
update-helm-charts:
6+
name: Update neuvector charts
7+
runs-on: ubuntu-latest
8+
permissions:
9+
contents: write # for updatecli to update the repository
10+
pull-requests: write # for updatecli to create a PR
11+
steps:
12+
- name: Checkout
13+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
14+
with:
15+
persist-credentials: false
16+
17+
- name: Install Updatecli in the runner
18+
uses: updatecli/updatecli-action@e71be7554f3f940bc439cf720b3e4e379823c562 # v3.2.0
19+
20+
- name: Update neuvector charts
21+
env:
22+
UPDATECLI_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
23+
UPDATECLI_GITHUB_OWNER: ${{ github.repository_owner }}
24+
UPDATECLI_GITHUB_BRANCH: ${{ github.ref_name }}
25+
run: "updatecli compose apply --file updatecli/updatecli-compose.release.yaml"
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
policies:
2+
- name: Update Helm Chart
3+
config:
4+
- "updatecli.release.d"
5+
values:
6+
- values.yaml
Lines changed: 190 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,190 @@
1+
name: Update neuvector chart versions
2+
3+
sources:
4+
# core and crd share exactly the same version
5+
chartVersion:
6+
name: "Get latest neuvector helm version"
7+
kind: yaml
8+
transformers:
9+
- semverinc: patch
10+
spec:
11+
file: charts/core/Chart.yaml
12+
key: $.version
13+
appVersion:
14+
name: "Get latest neuvector version"
15+
kind: githubrelease
16+
transformers:
17+
- trimPrefix: "v"
18+
spec:
19+
owner: '{{ requiredEnv .github.owner }}'
20+
repository: neuvector
21+
token: '{{ requiredEnv .github.token }}'
22+
versionfilter:
23+
kind: "regex"
24+
pattern: "^v5\\.5\\.\\d+$"
25+
monitorVersion:
26+
name: "Get latest prometheus-exporter version"
27+
kind: githubrelease
28+
transformers:
29+
- trimPrefix: "v"
30+
spec:
31+
owner: '{{ requiredEnv .github.owner }}'
32+
repository: prometheus-exporter
33+
token: '{{ requiredEnv .github.token }}'
34+
versionfilter:
35+
kind: "semver"
36+
complianceVersion:
37+
name: "Get latest compliance-config version"
38+
kind: yaml
39+
transformers:
40+
- semverinc: patch
41+
spec:
42+
file: charts/core/values.yaml
43+
key: $.controller.prime.image.tag
44+
adapterVersion:
45+
name: "Get latest adapter version"
46+
kind: githubrelease
47+
transformers:
48+
- trimPrefix: "v"
49+
spec:
50+
owner: '{{ requiredEnv .github.owner }}'
51+
repository: registry-adapter
52+
token: '{{ requiredEnv .github.token }}'
53+
versionfilter:
54+
kind: "semver"
55+
updaterVersion:
56+
name: "Get latest updater version"
57+
kind: githubrelease
58+
transformers:
59+
- trimPrefix: "v"
60+
spec:
61+
owner: '{{ requiredEnv .github.owner }}'
62+
repository: updater
63+
token: '{{ requiredEnv .github.token }}'
64+
versionfilter:
65+
kind: "semver"
66+
67+
scms:
68+
default:
69+
kind: github
70+
spec:
71+
user: "{{ .github.author }}"
72+
email: "{{ .github.email }}"
73+
directory: "/tmp/helm-charts"
74+
owner: "{{ requiredEnv .github.owner }}"
75+
repository: "neuvector-helm"
76+
token: "{{ requiredEnv .github.token }}"
77+
username: "{{ requiredEnv .github.user }}"
78+
branch: "{{ requiredEnv .github.branch }}"
79+
commitusingapi: true
80+
commitmessage:
81+
type: "chore"
82+
title: "update neuvector helm charts"
83+
hidecredit: true
84+
footers: "Signed-off-by: NeuVector bot <neuvector-bot@users.noreply.github.com>"
85+
86+
actions:
87+
default:
88+
title: 'chore: helm chart {{ source "chartVersion" }} release'
89+
kind: github/pullrequest
90+
scmid: default
91+
spec:
92+
automerge: false
93+
mergemethod: squash
94+
description: |
95+
Automatic Helm chart {{ source "chartVersion" }} update.
96+
This PR has been created by the automation used to automatically update the Helm charts when neuvector is released or helm chart content is updated.
97+
REMEMBER IF YOU WANT TO MERGE IN A SINGLE COMMIT CHANGES AND VERSION BUMP, YOU MUST SQUASH THE COMMIT BEFORE MERGING THIS PR!
98+
draft: false
99+
labels:
100+
- "chore"
101+
102+
targets:
103+
update_core_version:
104+
scmid: default
105+
name: update Helm chart version
106+
kind: yaml
107+
sourceid: chartVersion
108+
spec:
109+
file: charts/core/Chart.yaml
110+
key: $.version
111+
update_core_appversion:
112+
scmid: default
113+
name: update Helm chart appVersion
114+
kind: yaml
115+
sourceid: appVersion
116+
spec:
117+
file: charts/core/Chart.yaml
118+
key: $.appVersion
119+
update_nv_tag:
120+
scmid: default
121+
name: update NV tag
122+
kind: yaml
123+
sourceid: appVersion
124+
spec:
125+
file: charts/core/values.yaml
126+
key: $.tag
127+
update_compliance_config_tag:
128+
scmid: default
129+
name: update compliance tag
130+
kind: yaml
131+
sourceid: complianceVersion
132+
spec:
133+
file: charts/core/values.yaml
134+
key: $.controller.prime.image.tag
135+
update_adapter_tag:
136+
scmid: default
137+
name: update adapter tag
138+
kind: yaml
139+
sourceid: adapterVersion
140+
spec:
141+
file: charts/core/values.yaml
142+
key: $.cve.adapter.image.tag
143+
update_updater_tag:
144+
scmid: default
145+
name: update updater tag
146+
kind: yaml
147+
sourceid: updaterVersion
148+
spec:
149+
file: charts/core/values.yaml
150+
key: $.cve.updater.image.tag
151+
update_crd_version:
152+
scmid: default
153+
name: update Helm chart version
154+
kind: yaml
155+
sourceid: chartVersion
156+
spec:
157+
file: charts/crd/Chart.yaml
158+
key: $.version
159+
update_crd_appversion:
160+
scmid: default
161+
name: update Helm chart appVersion
162+
kind: yaml
163+
sourceid: appVersion
164+
spec:
165+
file: charts/crd/Chart.yaml
166+
key: $.appVersion
167+
update_monitor_version:
168+
scmid: default
169+
name: update Helm chart version
170+
kind: yaml
171+
sourceid: chartVersion
172+
spec:
173+
file: charts/monitor/Chart.yaml
174+
key: $.version
175+
update_monitor_appversion:
176+
scmid: default
177+
name: update Helm chart appVersion
178+
kind: yaml
179+
sourceid: monitorVersion
180+
spec:
181+
file: charts/monitor/Chart.yaml
182+
key: $.appVersion
183+
update_monitor_tag:
184+
scmid: default
185+
name: update prometheus exporter tag
186+
kind: yaml
187+
sourceid: monitorVersion
188+
spec:
189+
file: charts/monitor/values.yaml
190+
key: $.exporter.image.tag

updatecli/values.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
github:
2+
owner: "UPDATECLI_GITHUB_OWNER"
3+
token: "UPDATECLI_GITHUB_TOKEN"
4+
branch: "UPDATECLI_GITHUB_BRANCH"
5+
author: "NeuVector bot"
6+
user: "UPDATECLI_GITHUB_OWNER"
7+
email: "neuvector-bot@users.noreply.github.com"

0 commit comments

Comments
 (0)