Skip to content

Commit 5b483d6

Browse files
authored
CLOUDP-329522: Fix Release Workflow (#2560)
* fix release workflow * error if tag already exists
1 parent af2c465 commit 5b483d6

File tree

1 file changed

+22
-21
lines changed

1 file changed

+22
-21
lines changed

.github/workflows/release-image.yml

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ on:
44
workflow_dispatch:
55
inputs:
66
version:
7-
description: "Release version"
7+
description: "Release version (without v prefix)"
88
required: true
99
type: string
1010
authors:
@@ -20,7 +20,7 @@ on:
2020
permissions:
2121
contents: write
2222
pull-requests: write
23-
23+
2424
jobs:
2525
# Image2commit: Creates a mapping between the image_sha given as input and the actual git commit
2626
# This is necessary for the release-image step that requires checking out that exact git commit
@@ -61,24 +61,24 @@ jobs:
6161
echo "Resolved commit: ${{ needs.image2commit.outputs.commit_sha }}"
6262
6363
# 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}
6565
release-image:
6666
runs-on: ubuntu-latest
6767
environment: release
6868
needs: image2commit
6969
env:
7070
VERSION: ${{ github.event.inputs.version }}
71+
RELEASE_TAG: v${{ github.event.inputs.version }}
7172
AUTHORS: ${{ github.event.inputs.authors }}
7273
IMAGE_SHA: ${{ github.event.inputs.image_sha }}
7374
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
7576
DOCKER_PRERELEASE_REPO: docker.io/mongodb/mongodb-atlas-kubernetes-operator-prerelease
7677
QUAY_RELEASE_REPO: quay.io/mongodb/mongodb-atlas-kubernetes-operator
7778
QUAY_PRERELEASE_REPO: quay.io/mongodb/mongodb-atlas-kubernetes-operator-prerelease
7879
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 }}
8282
QUAY_IMAGE_URL: quay.io/mongodb/mongodb-atlas-kubernetes-operator:${{ github.event.inputs.version }}
8383
QUAY_CERTIFIED_IMAGE_URL: quay.io/mongodb/mongodb-atlas-kubernetes-operator:certified-${{ github.event.inputs.version }}
8484
steps:
@@ -132,26 +132,26 @@ jobs:
132132
gh workflow run post-atlas-operator-release.yaml \
133133
--repo mongodb/helm-charts \
134134
--ref main \
135-
--field version="${{ env.RELEASE_TAG }}"
135+
--field version="${{ env.VERSION }}"
136136
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
138138
- name: Move image to Docker registry release from prerelease
139139
run: devbox run -- ./scripts/move-image.sh
140140
env:
141141
IMAGE_SRC_REPO: ${{ env.DOCKER_PRERELEASE_REPO }}
142142
IMAGE_DEST_REPO: ${{ env.DOCKER_RELEASE_REPO }}
143143
IMAGE_SRC_TAG: ${{ env.PROMOTED_TAG }}
144-
IMAGE_DEST_TAG: ${{ env.RELEASE_TAG }}
144+
IMAGE_DEST_TAG: ${{ env.VERSION }}
145145

146146
- name: Move image to Quay registry release from prerelease
147147
run: devbox run -- ./scripts/move-image.sh
148148
env:
149149
IMAGE_SRC_REPO: ${{ env.QUAY_PRERELEASE_REPO }}
150150
IMAGE_DEST_REPO: ${{ env.QUAY_RELEASE_REPO }}
151151
IMAGE_SRC_TAG: ${{ env.PROMOTED_TAG }}
152-
IMAGE_DEST_TAG: ${{ env.RELEASE_TAG }}
152+
IMAGE_DEST_TAG: ${{ env.VERSION }}
153153

154-
# Create Openshift certified images
154+
# Create Openshift certified images
155155
- name: Create OpenShift certified image on Quay
156156
run: devbox run -- ./scripts/move-image.sh
157157
env:
@@ -176,6 +176,7 @@ jobs:
176176
uses: ./.github/actions/gen-install-scripts
177177
with:
178178
ENV: prod
179+
VERSION: ${{ env.VERSION }}
179180
IMAGE_URL: ${{ env.DOCKER_IMAGE_URL }}
180181

181182
- name: Bump Helm chart version
@@ -199,16 +200,16 @@ jobs:
199200
run: devbox run -- make generate-sboms RELEASED_OPERATOR_IMAGE="${{ env.DOCKER_RELEASE_REPO }}"
200201

201202
- name: Create SDLC report
202-
run: devbox run -- make gen-sdlc-checklist
203+
run: devbox run -- make gen-sdlc-checklist
203204

204205
# Create PR on release branch with all updates generated
205206
- name: Create release pr with all updated artefacts
206207
env:
207208
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
208209
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}"
212213
213214
git config --global user.name "release-bot[bot]"
214215
git config --global user.email "456789+release-bot[bot]@users.noreply.github.com"
@@ -237,21 +238,21 @@ jobs:
237238
- name: Create configuration package
238239
run: |
239240
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
241242
242243
- name: Tag the release assets
243244
run: |
244245
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 }}
247248
248249
- name: Create release on GitHub
249250
uses: softprops/action-gh-release@v2
250251
with:
251252
draft: true
252253
prerelease: false
253-
tag_name: "${{ env.VERSION }}"
254-
name: "${{ env.VERSION }}"
254+
tag_name: "${{ env.RELEASE_TAG }}"
255+
name: "${{ env.RELEASE_TAG }}"
255256
token: ${{ secrets.GITHUB_TOKEN }}
256257
body_path: docs/release-notes/release-notes-template.md
257258
files: |

0 commit comments

Comments
 (0)