Skip to content

Commit c7c91f8

Browse files
authored
Merge pull request #1455 from viccuad/ci/open-release-pr-input
ci(open-release-pr): Obtain desired version from workflow dispatch
2 parents 25342a1 + 79e9bdc commit c7c91f8

3 files changed

Lines changed: 54 additions & 25 deletions

File tree

.github/workflows/open-release-pr.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
on:
22
workflow_dispatch:
3+
inputs:
4+
version:
5+
description: "stack version (E.g: v1.32.0-rc2)"
6+
required: true
7+
type: string
38

49
name: Open release PR
510

@@ -37,5 +42,6 @@ jobs:
3742
env:
3843
UPDATECLI_GITHUB_TOKEN: ${{ steps.generate-token.outputs.token }}
3944
UPDATECLI_GITHUB_OWNER: ${{ github.repository_owner }}
45+
RELEASE_VERSION: ${{ inputs.version }}
4046
run: |-
4147
updatecli compose apply --file ./updatecli/open-release-pr.yaml

CONTRIBUTING.md

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -242,9 +242,22 @@ var _ = Describe("Controller test", func() {
242242
})
243243
```
244244

245+
## Releasing
246+
247+
1. Check that `:latest` builds of kubewarden-controller for main are fine, including kwctl
248+
1. Open an automated release PR with https://github.com/kubewarden/kubewarden-controller/actions/workflows/open-release-pr.yml
249+
Set the desired kubewarden version.
250+
1. Review & merge automated PR
251+
1. Tag version in kubewarden-controller repo
252+
1. Wait for images to be built, so e2e tests can work
253+
1. Trigger automated PR that syncs adm controller charts with helm-chart repo
254+
https://github.com/kubewarden/helm-charts/actions/workflows/update-adm-controller.yaml
255+
1. Merge automated PR on helm-chart repo
256+
1. chart-releaser releases the charts on Helm chart repo.
257+
245258
## Additional Resources
246259

247260
- **Developer Documentation**: The `docs/` folder contains additional documentation for each component
248261
(`audit-scanner`, `controller`, `kwctl`, `policy-server`, and `crds`).
249262
- **RFCs**: Design proposals and architectural decisions are tracked in a separate repository at
250-
<https://github.com/kubewarden/rfc>.
263+
<https://github.com/kubewarden/rfc>.

updatecli/updatecli.release.d/open-release-pr.yaml

Lines changed: 34 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,19 @@
11
name: Update kubewarden-controller chart versions
22
pipelineid: "{{ .pipelineid }}"
33

4-
# This updatecli pipeline takes the latest GH draft release title, which
5-
# corresponds with the future Kubewarden admission controller stack version.
4+
# This updatecli pipeline receives as input a RELEASE_VERSION env var with the
5+
# desired Kubewarden admission controller stack version.
66
#
77
# Then bumps all charts and Cargo.* files following that version and opens a PR against
88
# the kubewarden-controller repo.
99

1010
sources:
11-
newestGitHubDraftReleaseVersion:
12-
name: Extract version from newest GitHub draft release from release drafter
13-
kind: githubrelease
11+
desiredReleaseVersion:
12+
name: "desired release version (e.g: v1.32.0-rc2)"
13+
kind: shell
1414
spec:
15-
owner: "{{ requiredEnv .github.owner }}"
16-
repository: "{{ .github.repo }}"
17-
token: "{{ requiredEnv .github.token }}"
18-
key: "title"
19-
typefilter:
20-
# We specifically only want the newest draft release, created with
21-
# release-drafter, as its title has the prospective semver that we want
22-
# to tag
23-
draft: true
24-
kind: latest
15+
command: |
16+
echo '{{ requiredEnv "RELEASE_VERSION" }}'
2517
newestReleaseTagVersion:
2618
name: Extract newest tag from newest GitHub release
2719
# used for displaying a gh compare URL in the open PR
@@ -134,7 +126,7 @@ targets:
134126
scmid: default
135127
name: Update Helm chart kubewarden-crds appVersion
136128
kind: yaml
137-
sourceid: newestGitHubDraftReleaseVersion
129+
sourceid: desiredReleaseVersion
138130
spec:
139131
file: charts/kubewarden-crds/Chart.yaml
140132
key: $.appVersion
@@ -150,10 +142,19 @@ targets:
150142
scmid: default
151143
name: Update Helm chart kubewarden-controller appVersion
152144
kind: yaml
153-
sourceid: newestGitHubDraftReleaseVersion
145+
sourceid: desiredReleaseVersion
154146
spec:
155147
file: charts/kubewarden-controller/Chart.yaml
156148
key: $.appVersion
149+
update_kubewarden_controller_auto_install_annotation:
150+
name: "Update kubewarden-controller auto-install annotation"
151+
kind: yaml
152+
sourceid: crdsChartVersion
153+
scmid: "default"
154+
spec:
155+
file: "file://charts/kubewarden-controller/Chart.yaml"
156+
key: 'annotations.catalog\.cattle\.io/auto-install'
157+
value: 'kubewarden-crds={{ source "crdsChartVersion" }}'
157158
update_kubewarden_defaults_helm_version:
158159
scmid: default
159160
name: Update Helm chart kubewarden-defaults version
@@ -166,31 +167,40 @@ targets:
166167
scmid: default
167168
name: Update Helm chart kubewarden-defaults appVersion
168169
kind: yaml
169-
sourceid: newestGitHubDraftReleaseVersion
170+
sourceid: desiredReleaseVersion
170171
spec:
171172
file: charts/kubewarden-defaults/Chart.yaml
172173
key: $.appVersion
174+
update_kubewarden_defaults_auto_install_annotation:
175+
name: "Update kubewarden-defaults auto-install annotation"
176+
kind: yaml
177+
sourceid: crdsChartVersion
178+
scmid: "default"
179+
spec:
180+
file: "file://charts/kubewarden-defaults/Chart.yaml"
181+
key: 'annotations.catalog\.cattle\.io/auto-install'
182+
value: 'kubewarden-crds={{ source "crdsChartVersion" }}'
173183
update_controller_image_tag:
174184
scmid: default
175185
name: Update Helm chart kubewarden-controller image tag
176186
kind: yaml
177-
sourceid: newestGitHubDraftReleaseVersion
187+
sourceid: desiredReleaseVersion
178188
spec:
179189
file: charts/kubewarden-controller/values.yaml
180190
key: $.image.tag
181191
update_audit_scanner_image_tag:
182192
scmid: default
183193
name: Update Helm chart audit-scanner version
184194
kind: yaml
185-
sourceid: newestGitHubDraftReleaseVersion
195+
sourceid: desiredReleaseVersion
186196
spec:
187197
file: charts/kubewarden-controller/values.yaml
188198
key: $.auditScanner.image.tag
189199
update_policy_server_image_tag:
190200
scmid: default
191201
name: Update Helm chart policy-server version
192202
kind: yaml
193-
sourceid: newestGitHubDraftReleaseVersion
203+
sourceid: desiredReleaseVersion
194204
spec:
195205
file: charts/kubewarden-defaults/values.yaml
196206
key: $.policyServer.image.tag
@@ -218,7 +228,7 @@ targets:
218228
updateCargoTomlVersion:
219229
name: Update Cargo.toml, Cargo.lock with new version
220230
scmid: default
221-
sourceid: newestGitHubDraftReleaseVersion
231+
sourceid: desiredReleaseVersion
222232
transformers:
223233
- trimprefix: "v"
224234
kind: shell
@@ -255,14 +265,14 @@ scms:
255265
# {{ if not .pr.haulerUpdatePr }}
256266
actions:
257267
openUpdatePR:
258-
title: 'build: {{ source "newestGitHubDraftReleaseVersion" }} release'
268+
title: 'build: {{ source "desiredReleaseVersion" }} release'
259269
kind: github/pullrequest
260270
scmid: default
261271
spec:
262272
automerge: false
263273
mergemethod: squash
264274
description: |
265-
Automatic bump to `{{ source "newestGitHubDraftReleaseVersion" }}` release.
275+
Automatic bump to `{{ source "desiredReleaseVersion" }}` release.
266276
267277
Changes since last released tag: (if no tag, since HEAD^): https://github.com/{{ requiredEnv .github.owner }}/{{ .github.repo }}/compare/{{ source "newestReleaseTagVersion" | default "HEAD^" }}...updatecli_main_release_pr
268278

0 commit comments

Comments
 (0)