6666 release-image :
6767 runs-on : ubuntu-latest
6868 environment : release
69- needs : image2commit
7069 env :
7170 VERSION : ${{ github.event.inputs.version || 'test-0.0.0-dev' }}
7271 AUTHORS : ${{ github.event.inputs.authors || 'unknown' }}
@@ -95,15 +94,15 @@ jobs:
9594 uses : docker/login-action@v3
9695 with :
9796 registry : docker.io
98- username : ${{ secrets.ANDRPAC_DOCKER_USERNAME }}
99- password : ${{ secrets.ANDRPAC_DOCKER_PASSWORD }}
97+ username : ${{ secrets.DOCKER_USERNAME }}
98+ password : ${{ secrets.DOCKER_PASSWORD }}
10099
101100 - name : Log in to Quay registry
102101 uses : docker/login-action@v3
103102 with :
104103 registry : quay.io
105- username : ${{ secrets.ANDRPAC_QUAY_USERNAME }}
106- password : ${{ secrets.ANDRPAC_QUAY_PASSWORD }}
104+ username : ${{ secrets.QUAY_USERNAME }}
105+ password : ${{ secrets.QUAY_PASSWORD }}
107106
108107 - name : Log in to Artifactory
109108 uses : docker/login-action@v3
@@ -112,9 +111,6 @@ jobs:
112111 username : ${{ secrets.MDB_ARTIFACTORY_USERNAME }}
113112 password : ${{ secrets.MDB_ARTIFACTORY_PASSWORD }}
114113
115- - name : Install devbox
116- uses :
jetify-com/[email protected] 117-
118114 # This step configures all of the dynamic variables needed for later steps
119115 - name : Configure job environment for downstream steps
120116 id : tags
@@ -135,30 +131,6 @@ jobs:
135131 echo "quay_certified_image_url=$quay_certified_image_url" >> $GITHUB_OUTPUT
136132
137133 # Move prerelease images to official release registries in Docker Hub and Quay
138- - name : Move image to Docker registry release from prerelease
139- run : devbox run -- ./scripts/move-image.sh
140- env :
141- IMAGE_SRC_REPO : ${{ env.DOCKER_PRERELEASE_REPO }}
142- IMAGE_DEST_REPO : ${{ env.DOCKER_RELEASE_REPO }}
143- IMAGE_SRC_TAG : ${{ steps.tags.outputs.promoted_tag }}
144- IMAGE_DEST_TAG : ${{ steps.tags.outputs.release_tag }}
145-
146- - name : Move image to Quay registry release from prerelease
147- run : devbox run -- ./scripts/move-image.sh
148- env :
149- IMAGE_SRC_REPO : ${{ env.QUAY_PRERELEASE_REPO }}
150- IMAGE_DEST_REPO : ${{ env.QUAY_RELEASE_REPO }}
151- IMAGE_SRC_TAG : ${{ steps.tags.outputs.promoted_tag }}
152- IMAGE_DEST_TAG : ${{ steps.tags.outputs.release_tag }}
153-
154- # Create Openshift certified images
155- - name : Create OpenShift certified image on Quay
156- run : devbox run -- ./scripts/move-image.sh
157- env :
158- IMAGE_SRC_REPO : ${{ env.QUAY_PRERELEASE_REPO }}
159- IMAGE_DEST_REPO : ${{ env.QUAY_RELEASE_REPO }}
160- IMAGE_SRC_TAG : ${{ steps.tags.outputs.promoted_tag }}
161- IMAGE_DEST_TAG : ${{ steps.tags.outputs.certified_tag }}
162134
163135 # Link updates to pr: all-in-one.yml, helm-updates, sdlc requirements
164136 - name : Generate deployment configurations
@@ -168,55 +140,37 @@ jobs:
168140 IMAGE_URL : ${{ steps.tags.outputs.docker_image_url }}
169141
170142 - name : Bump Helm chart version
171- run : devbox run -- ./scripts/bump-helm-chart-version.sh
143+ run : ./scripts/bump-helm-chart-version.sh
172144
173145 # Prepare SDLC requirement: signatures, sboms, compliance reports
174146 # Note, signed images will live in mongodb/release and mongodb/signature repos
175- - name : Sign released images
176- run : |
177- devbox run -- make sign IMG="${{ steps.tags.outputs.docker_image_url }}" SIGNATURE_REPO="${{ env.DOCKER_RELEASE_REPO }}"
178- devbox run -- make sign IMG="${{ steps.tags.outputs.quay_image_url }}" SIGNATURE_REPO="${{ env.QUAY_RELEASE_REPO }}"
179- devbox run -- make sign IMG="${{ steps.tags.outputs.docker_image_url }}" SIGNATURE_REPO="${{ env.DOCKER_SIGNATURE_REPO }}"
180- devbox run -- make sign IMG="${{ steps.tags.outputs.quay_certified_image_url }}" SIGNATURE_REPO="${{ env.QUAY_RELEASE_REPO }}"
181- devbox run -- make sign IMG="${{ steps.tags.outputs.quay_certified_image_url }}" SIGNATURE_REPO="${{ env.DOCKER_SIGNATURE_REPO }}"
182- env :
183- PKCS11_URI : ${{ secrets.PKCS11_URI }}
184- GRS_USERNAME : ${{ secrets.GRS_USERNAME }}
185- GRS_PASSWORD : ${{ secrets.GRS_PASSWORD }}
186-
187- - name : Generate SBOMs
188- run : devbox run -- make generate-sboms RELEASED_OPERATOR_IMAGE="${{ env.DOCKER_RELEASE_REPO }}"
189147
190148 - name : Create SDLC report
191- run : devbox run -- make gen-sdlc-checklist
192-
149+ run : make gen-sdlc-checklist
150+
193151 # Create PR on release branch with all updates generated
194- - name : Create release branch with updates, tag new updates
195- env :
196- GITHUB_TOKEN : ${{ steps.generate_token.outputs.token }}
152+ - name : Make release changes
197153 run : |
198- git config --global user.name "${{ steps.generate_token.outputs.user-name }}"
199- git config --global user.email "${{ steps.generate_token.outputs.user-email }}"
200-
201- export BRANCH="new-release/${VERSION}"
202- export COMMIT_MESSAGE="feat: release ${VERSION} from release-image workflow"
203- export RELEASE_DIR="docs/releases/${VERSION}"
204-
205- git checkout -b "$BRANCH"
206-
207- mkdir -p "$RELEASE_DIR"
208- mv deploy "$RELEASE_DIR"/deploy
209- mv bundle "$RELEASE_DIR"/bundle
210- mv bundle.Dockerfile "$RELEASE_DIR"/bundle.Dockerfile
211-
212- git add -f "$RELEASE_DIR"
213- scripts/create-signed-commit.sh
214-
215- gh pr create \
216- --draft \
217- --head="$BRANCH" \
218- --title "$COMMIT_MESSAGE" \
219- --body "This is an autogenerated PR to prepare for the release"
154+ mkdir -p docs/releases/v${{ env.VERSION }}
155+ mv deploy docs/releases/v${{ env.VERSION }}/deploy
156+ mv bundle docs/releases/v${{ env.VERSION }}/bundle
157+ mv bundle.Dockerfile docs/releases/v${{ env.VERSION }}/bundle.Dockerfile
158+ mv helm-charts docs/releases/helm-charts
159+
160+ - name : Create signed and verified PR
161+ uses : peter-evans/create-pull-request@v5
162+ with :
163+ token : ${{ steps.generate_token.outputs.token }}
164+ commit-message : " feat: release ${{ env.VERSION }} from release-image workflow"
165+ branch : new-release/${{ env.VERSION }}
166+ title : " feat: release ${{ env.VERSION }} from release-image workflow"
167+ body : This is an autogenerated PR to prepare for the release.
168+ draft : true
169+ signoff : true
170+ sign-commits : true
171+ add-paths : |
172+ docs/releases/**
173+
220174
221175 prepare-environment :
222176 name : Set up Environment Variables
0 commit comments