Skip to content

Commit 836d5bf

Browse files
committed
feat: devtest using pr number as image identifier
1 parent b634b93 commit 836d5bf

2 files changed

Lines changed: 26 additions & 17 deletions

File tree

.github/workflows/stage-3-build-images-devtest.yaml

Lines changed: 21 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -113,22 +113,22 @@ jobs:
113113
if: ${{ steps.detect-base-image-changes.outputs.BASE_IMAGE_CHANGE == 'true' || github.ref == 'refs/heads/main' }}
114114
continue-on-error: false
115115
run: |
116-
#PR_NUM_TAG=$(echo "${GITHUB_REF}" | sed 's/refs\/pull\/\([0-9]*\)\/merge/\1/')
116+
PR_NUM_TAG=$(echo "${GITHUB_REF}" | sed 's/refs\/pull\/\([0-9]*\)\/merge/\1/')
117117
SHORT_COMMIT_HASH=$(git rev-parse --short ${GITHUB_SHA})
118118
echo $SHORT_COMMIT_HASH
119119
echo $PR_NUM_TAG
120120
121121
docker build -f Dockerfile.dotnet.base -t cohort-manager-dotnet-base:latest .
122-
#docker tag cohort-manager-dotnet-base:latest "ghcr.io/nhsdigital/cohort-manager-dotnet-base:${PR_NUM_TAG}"
122+
docker tag cohort-manager-dotnet-base:latest "ghcr.io/nhsdigital/cohort-manager-dotnet-base:${PR_NUM_TAG}"
123123
docker tag cohort-manager-dotnet-base:latest "ghcr.io/nhsdigital/cohort-manager-dotnet-base:${SHORT_COMMIT_HASH}"
124124
125125
docker build -f Dockerfile.function.base -t cohort-manager-function-base:latest .
126-
#docker tag cohort-manager-function-base:latest "ghcr.io/nhsdigital/cohort-manager-function-base:${PR_NUM_TAG}"
126+
docker tag cohort-manager-function-base:latest "ghcr.io/nhsdigital/cohort-manager-function-base:${PR_NUM_TAG}"
127127
docker tag cohort-manager-function-base:latest "ghcr.io/nhsdigital/cohort-manager-function-base:${SHORT_COMMIT_HASH}"
128128
129-
#docker push "ghcr.io/nhsdigital/cohort-manager-dotnet-base:${PR_NUM_TAG}"
129+
docker push "ghcr.io/nhsdigital/cohort-manager-dotnet-base:${PR_NUM_TAG}"
130130
docker push "ghcr.io/nhsdigital/cohort-manager-dotnet-base:${SHORT_COMMIT_HASH}"
131-
#docker push "ghcr.io/nhsdigital/cohort-manager-function-base:${PR_NUM_TAG}"
131+
docker push "ghcr.io/nhsdigital/cohort-manager-function-base:${PR_NUM_TAG}"
132132
docker push "ghcr.io/nhsdigital/cohort-manager-function-base:${SHORT_COMMIT_HASH}"
133133
if [ "${GITHUB_REF}" == 'refs/heads/main' ]; then
134134
docker push "ghcr.io/nhsdigital/cohort-manager-dotnet-base:latest"
@@ -142,9 +142,9 @@ jobs:
142142
PR_NUM_TAG=$(echo "${GITHUB_REF}" | sed 's/refs\/pull\/\([0-9]*\)\/merge/\1/')
143143
IMAGE_TAG="latest"
144144
145-
# if [[ ${{steps.detect-base-image-changes.outputs.BASE_IMAGE_CHANGE}} == 'true' ]]; then
146-
# IMAGE_TAG="${PR_NUM_TAG}"
147-
# fi
145+
if [[ ${{steps.detect-base-image-changes.outputs.BASE_IMAGE_CHANGE}} == 'true' ]]; then
146+
IMAGE_TAG="${PR_NUM_TAG}"
147+
fi
148148
echo "Image Tag = ${IMAGE_TAG}"
149149
150150
echo "DOTNET_BASE_IMAGE=ghcr.io/nhsdigital/cohort-manager-dotnet-base:${IMAGE_TAG}" >> "${GITHUB_OUTPUT}"
@@ -173,6 +173,7 @@ jobs:
173173
pr_num_tag: ${{ env.PR_NUM_TAG }}
174174
short_commit_hash: ${{ env.COMMIT_HASH_TAG }}
175175
devtest_commit_hash: ${{ env.DEVTEST_HASH_TAG }}
176+
devtest_pr_num_tag: ${{ env.DEVTEST_PR_NUM_TAG }}
176177
steps:
177178
- uses: actions/checkout@v4
178179
with:
@@ -219,13 +220,17 @@ jobs:
219220
echo "PR_NUM_TAG: pr${PR_NUM_TAG}"
220221
echo "PR_NUM_TAG=pr${PR_NUM_TAG}" >> ${GITHUB_ENV}
221222
223+
DEVTEST_PR_NUM_TAG="devtest_${PR_NUM_TAG}"
224+
echo "Devtest Pr Num tag: ${DEVTEST_PR_NUM_TAG}"
225+
echo "DEVTEST_PR_NUM_TAG=${DEVTEST_PR_NUM_TAG}" >> ${GITHUB_ENV}
226+
222227
SHORT_COMMIT_HASH=$(git rev-parse --short ${GITHUB_SHA})
223228
echo "Commit hash tag: ${SHORT_COMMIT_HASH}"
224229
echo "COMMIT_HASH_TAG=${SHORT_COMMIT_HASH}" >> ${GITHUB_ENV}
225230
226-
DEVTEST_COMMIT_HASH="devtest_${SHORT_COMMIT_HASH}"
227-
echo "Commit devtest hash tag: ${DEVTEST_COMMIT_HASH}"
228-
echo "DEVTEST_HASH_TAG=${DEVTEST_COMMIT_HASH}" >> ${GITHUB_ENV}
231+
# DEVTEST_COMMIT_HASH="devtest_${SHORT_COMMIT_HASH}"
232+
# echo "Commit devtest hash tag: ${DEVTEST_COMMIT_HASH}"
233+
# echo "DEVTEST_HASH_TAG=${DEVTEST_COMMIT_HASH}" >> ${GITHUB_ENV}
229234
230235
echo "ENVIRONMENT_TAG=${ENVIRONMENT_TAG}" >> ${GITHUB_ENV}
231236
@@ -256,8 +261,8 @@ jobs:
256261
257262
# Tag the image
258263
echo "Tag the image:"
259-
docker tag ${PROJECT_NAME}-${function}:latest "$repo_name:${DEVTEST_HASH_TAG}"
260-
# docker tag ${PROJECT_NAME}-${function}:latest "$repo_name:${PR_NUM_TAG}"
264+
#docker tag ${PROJECT_NAME}-${function}:latest "$repo_name:${DEVTEST_HASH_TAG}"
265+
docker tag ${PROJECT_NAME}-${function}:latest "$repo_name:${DEVTEST_PR_NUM_TAG}"
261266
# docker tag ${PROJECT_NAME}-${function}:latest "$repo_name:${ENVIRONMENT_TAG}"
262267
263268
# If this variable is set, the create-sbom-report.sh script will scan this docker image instead.
@@ -268,7 +273,7 @@ jobs:
268273
echo "PR_NUM_TAG=${PR_NUM_TAG}" >> ${GITHUB_ENV}
269274
270275
# Push the image to the repository
271-
docker push "${repo_name}:${DEVTEST_HASH_TAG}"
276+
docker push "${repo_name}:${DEVTEST_PR_NUM_TAG}"
272277
273278
- name: Cleanup the docker images
274279
env:
@@ -279,7 +284,7 @@ jobs:
279284
repo_name="${ACR_NAME}.azurecr.io/${PROJECT_NAME}-${function}"
280285
281286
# Remove the images
282-
docker rmi "${repo_name}:${DEVTEST_HASH_TAG}"
283-
# docker rmi "${repo_name}:${PR_NUM_TAG}"
287+
# docker rmi "${repo_name}:${DEVTEST_HASH_TAG}"
288+
docker rmi "${repo_name}:${DEVTEST_PR_NUM_TAG}"
284289
# docker rmi "${repo_name}:${ENVIRONMENT_TAG}"
285290
docker rmi ${PROJECT_NAME}-${function}:latest

.github/workflows/stage-4-deploy-devtest.yaml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,8 +100,12 @@ jobs:
100100
git_short_sha=$(git rev-parse --short "$COMMIT_SHA")
101101
devtest_short_sha="devtest_${git_short_sha}"
102102
103+
# Get the number of the current Pull request
104+
pr_num_tag=$(echo "${GITHUB_REF}" | sed 's/refs\/pull\/\([0-9]*\)\/merge/\1/')
105+
devtest_pr_num_tag="devtest_${PR_NUM_TAG}"
106+
103107
# Prepare parameters as separate key=value tokens
104-
param_image="dockerImageTag=${devtest_short_sha}"
108+
param_image="dockerImageTag=${devtest_pr_num_tag}"
105109
param_tests="testTypes=[${test_types[$ENVIRONMENT_NAME]}]"
106110
107111
echo "Starting Azure devops pipeline \"Deploy to Azure - Core ${ENVIRONMENT_NAME}\"..."

0 commit comments

Comments
 (0)