4
4
workflow_dispatch :
5
5
inputs :
6
6
version :
7
- description : " Release version"
7
+ description : " Release version (without v prefix) "
8
8
required : true
9
9
type : string
10
10
authors :
20
20
permissions :
21
21
contents : write
22
22
pull-requests : write
23
-
23
+
24
24
jobs :
25
25
# Image2commit: Creates a mapping between the image_sha given as input and the actual git commit
26
26
# This is necessary for the release-image step that requires checking out that exact git commit
@@ -61,24 +61,24 @@ jobs:
61
61
echo "Resolved commit: ${{ needs.image2commit.outputs.commit_sha }}"
62
62
63
63
# Release-image: Created and uploads a release for the specified operator version given in the image_sha
64
- # Note, with new releases, all of the release artifacts will be stored withing docs/releases/{release_version }
64
+ # Note, with new releases, all the release artifacts will be stored within docs/releases/{version }
65
65
release-image :
66
66
runs-on : ubuntu-latest
67
67
environment : release
68
68
needs : image2commit
69
69
env :
70
70
VERSION : ${{ github.event.inputs.version }}
71
+ RELEASE_TAG : v${{ github.event.inputs.version }}
71
72
AUTHORS : ${{ github.event.inputs.authors }}
72
73
IMAGE_SHA : ${{ github.event.inputs.image_sha }}
73
74
DOCKER_SIGNATURE_REPO : docker.io/mongodb/signatures
74
- DOCKER_RELEASE_REPO : docker.io/ mongodb/mongodb-atlas-kubernetes-operator
75
+ DOCKER_RELEASE_REPO : mongodb/mongodb-atlas-kubernetes-operator
75
76
DOCKER_PRERELEASE_REPO : docker.io/mongodb/mongodb-atlas-kubernetes-operator-prerelease
76
77
QUAY_RELEASE_REPO : quay.io/mongodb/mongodb-atlas-kubernetes-operator
77
78
QUAY_PRERELEASE_REPO : quay.io/mongodb/mongodb-atlas-kubernetes-operator-prerelease
78
79
PROMOTED_TAG : promoted-${{ github.event.inputs.image_sha }}
79
- RELEASE_TAG : ${{ github.event.inputs.version }}
80
- CERTIFIED_TAG : certified-${{ github.event.inputs.version }}
81
- DOCKER_IMAGE_URL : docker.io/mongodb/mongodb-atlas-kubernetes-operator:${{ github.event.inputs.version }}
80
+ CERTIFIED_TAG : ${{ github.event.inputs.version }}-certified
81
+ DOCKER_IMAGE_URL : mongodb/mongodb-atlas-kubernetes-operator:${{ github.event.inputs.version }}
82
82
QUAY_IMAGE_URL : quay.io/mongodb/mongodb-atlas-kubernetes-operator:${{ github.event.inputs.version }}
83
83
QUAY_CERTIFIED_IMAGE_URL : quay.io/mongodb/mongodb-atlas-kubernetes-operator:certified-${{ github.event.inputs.version }}
84
84
steps :
@@ -132,26 +132,26 @@ jobs:
132
132
gh workflow run post-atlas-operator-release.yaml \
133
133
--repo mongodb/helm-charts \
134
134
--ref main \
135
- --field version="${{ env.RELEASE_TAG }}"
135
+ --field version="${{ env.VERSION }}"
136
136
137
- # Move prerelease images to official release registries in Docker Hub and Quay
137
+ # Move prerelease images to official release registries in Docker Hub and Quay
138
138
- name : Move image to Docker registry release from prerelease
139
139
run : devbox run -- ./scripts/move-image.sh
140
140
env :
141
141
IMAGE_SRC_REPO : ${{ env.DOCKER_PRERELEASE_REPO }}
142
142
IMAGE_DEST_REPO : ${{ env.DOCKER_RELEASE_REPO }}
143
143
IMAGE_SRC_TAG : ${{ env.PROMOTED_TAG }}
144
- IMAGE_DEST_TAG : ${{ env.RELEASE_TAG }}
144
+ IMAGE_DEST_TAG : ${{ env.VERSION }}
145
145
146
146
- name : Move image to Quay registry release from prerelease
147
147
run : devbox run -- ./scripts/move-image.sh
148
148
env :
149
149
IMAGE_SRC_REPO : ${{ env.QUAY_PRERELEASE_REPO }}
150
150
IMAGE_DEST_REPO : ${{ env.QUAY_RELEASE_REPO }}
151
151
IMAGE_SRC_TAG : ${{ env.PROMOTED_TAG }}
152
- IMAGE_DEST_TAG : ${{ env.RELEASE_TAG }}
152
+ IMAGE_DEST_TAG : ${{ env.VERSION }}
153
153
154
- # Create Openshift certified images
154
+ # Create Openshift certified images
155
155
- name : Create OpenShift certified image on Quay
156
156
run : devbox run -- ./scripts/move-image.sh
157
157
env :
@@ -176,6 +176,7 @@ jobs:
176
176
uses : ./.github/actions/gen-install-scripts
177
177
with :
178
178
ENV : prod
179
+ VERSION : ${{ env.VERSION }}
179
180
IMAGE_URL : ${{ env.DOCKER_IMAGE_URL }}
180
181
181
182
- name : Bump Helm chart version
@@ -199,16 +200,16 @@ jobs:
199
200
run : devbox run -- make generate-sboms RELEASED_OPERATOR_IMAGE="${{ env.DOCKER_RELEASE_REPO }}"
200
201
201
202
- name : Create SDLC report
202
- run : devbox run -- make gen-sdlc-checklist
203
+ run : devbox run -- make gen-sdlc-checklist
203
204
204
205
# Create PR on release branch with all updates generated
205
206
- name : Create release pr with all updated artefacts
206
207
env :
207
208
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
208
209
run : |
209
- export BRANCH="new-release/${VERSION }"
210
- export COMMIT_MESSAGE="feat: release ${VERSION }"
211
- export RELEASE_DIR="releases/${VERSION }"
210
+ export BRANCH="new-release/${RELEASE_TAG }"
211
+ export COMMIT_MESSAGE="feat: release ${RELEASE_TAG }"
212
+ export RELEASE_DIR="releases/${RELEASE_TAG }"
212
213
213
214
git config --global user.name "release-bot[bot]"
214
215
git config --global user.email "456789+release-bot[bot]@users.noreply.github.com"
@@ -237,21 +238,21 @@ jobs:
237
238
- name : Create configuration package
238
239
run : |
239
240
set -x
240
- tar czvf atlas-operator-all-in-one-${{ env.VERSION }}.tar.gz -C releases/${{ env.VERSION }}/deploy all-in-one.yaml
241
+ tar czvf atlas-operator-all-in-one-${{ env.VERSION }}.tar.gz -C releases/${{ env.RELEASE_TAG }}/deploy all-in-one.yaml
241
242
242
243
- name : Tag the release assets
243
244
run : |
244
245
git fetch --tags
245
- git tag -f ${{ env.VERSION }} ${{ needs.image2commit.outputs.commit_sha }}
246
- git push -f origin ${{ env.VERSION }}
246
+ git tag -f ${{ env.RELEASE_TAG }} ${{ needs.image2commit.outputs.commit_sha }}
247
+ git push -f origin ${{ env.RELEASE_TAG }}
247
248
248
249
- name : Create release on GitHub
249
250
uses : softprops/action-gh-release@v2
250
251
with :
251
252
draft : true
252
253
prerelease : false
253
- tag_name : " ${{ env.VERSION }}"
254
- name : " ${{ env.VERSION }}"
254
+ tag_name : " ${{ env.RELEASE_TAG }}"
255
+ name : " ${{ env.RELEASE_TAG }}"
255
256
token : ${{ secrets.GITHUB_TOKEN }}
256
257
body_path : docs/release-notes/release-notes-template.md
257
258
files : |
0 commit comments