@@ -184,6 +184,21 @@ definitions:
184184 - git commit -am "Update TAG with ${BRANCH_NAME}-${HASH_COMMIT}" || echo "No changes to commit"
185185 - git push
186186
187+ - step : &deploy-on-test
188+ name : Deploy on Test environment
189+ image : alpine/git:latest
190+ script :
191+ - export HASH_COMMIT=${BITBUCKET_COMMIT:0:8}
192+ - export BRANCH_NAME=$(echo "$BITBUCKET_BRANCH" | tr '[:upper:]' '[:lower:]' | sed 's|/|--|g')
193+ - export BRANCH_FILE=$(echo "$BITBUCKET_BRANCH" | awk -F'/' '{if(NF==1)val=$1;else if(NF==2)val=$2;else if(NF==3)val=$2;else val=$3;gsub(/_/, "-", val);print tolower(val)}')
194+ - git clone https://x-token-auth:${DSPACE_VALUES_ACCESS_TOKEN}@${DSPACE_VALUES_REPO}
195+ - cd dspace-values
196+ - ' [ -f "test/${BRANCH_FILE}" ] && sed -i "/^angular:/,/^[^ ]/s/\(tag: \).*/\1${BRANCH_NAME}-${HASH_COMMIT}/" "test/${BRANCH_FILE}" && sed -i "s/^\([[:space:]]*replicaCount:\) 0/\1 1/" "test/${BRANCH_FILE}"'
197+ - git config --global user.email "${BB_EMAIL}"
198+ - git config --global user.name "${BB_USER}"
199+ - git commit -am "Update TAG with ${BRANCH_NAME}-${HASH_COMMIT}" || echo "No changes to commit"
200+ - git push
201+
187202 - step : &turn-on-dev
188203 name : Turn On Dev environment
189204 image : alpine/git:latest
@@ -214,6 +229,21 @@ definitions:
214229 - git commit -am "Enable staging environment for ${BRANCH_NAME}" || echo "No changes to commit"
215230 - git push
216231
232+ - step : &turn-on-test
233+ name : Turn On Test environment
234+ image : alpine/git:latest
235+ script :
236+ - export HASH_COMMIT=${BITBUCKET_COMMIT:0:8}
237+ - export BRANCH_NAME=$(echo "$BITBUCKET_BRANCH" | tr '[:upper:]' '[:lower:]' | sed 's|/|--|g')
238+ - export BRANCH_FILE=$(echo "$BITBUCKET_BRANCH" | awk -F'/' '{if(NF==1)val=$1;else if(NF==2)val=$2;else if(NF==3)val=$2;else val=$3;gsub(/_/, "-", val);print tolower(val)}')
239+ - git clone https://x-token-auth:${DSPACE_VALUES_ACCESS_TOKEN}@${DSPACE_VALUES_REPO}
240+ - cd dspace-values
241+ - ' [ -f "test/${BRANCH_FILE}" ] && sed -i "s/^\([[:space:]]*replicaCount:\) 0/\1 1/" "staging/${BRANCH_FILE}"'
242+ - git config --global user.email "${BB_USER}"
243+ - git config --global user.name "${BB_EMAIL}"
244+ - git commit -am "Enable test environment for ${BRANCH_NAME}" || echo "No changes to commit"
245+ - git push
246+
217247 - step : &find-and-invalidate-cloudfront-dev
218248 name : Invalidate CloudFront Dev Cache
219249 image : amazon/aws-cli
@@ -236,6 +266,17 @@ definitions:
236266 - export CLOUDFRONT_DISTRIBUTION_ID=$(aws cloudfront list-distributions --query "DistributionList.Items[?Comment=='staging--${CLOUDFRONT_NAME}'].Id" --output text)
237267 - aws cloudfront create-invalidation --distribution-id $CLOUDFRONT_DISTRIBUTION_ID --paths "/*"
238268
269+ - step : &find-and-invalidate-cloudfront-test
270+ name : Invalidate CloudFront Test Cache
271+ image : amazon/aws-cli
272+ script :
273+ - export AWS_ACCESS_KEY_ID=$AWS_ACCESS_CF_KEY_ID
274+ - export AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_CF_KEY
275+ - export AWS_DEFAULT_REGION=$AWS_REGION
276+ - export CLOUDFRONT_NAME=$(echo "$BITBUCKET_BRANCH" | awk -F'/' '{if(NF==1)val=$1;else if(NF==2)val=$2;else if(NF==3)val=$2;else val=$3;gsub(/_/, "-", val);print tolower(val)}')
277+ - export CLOUDFRONT_DISTRIBUTION_ID=$(aws cloudfront list-distributions --query "DistributionList.Items[?Comment=='test--${CLOUDFRONT_NAME}'].Id" --output text)
278+ - aws cloudfront create-invalidation --distribution-id $CLOUDFRONT_DISTRIBUTION_ID --paths "/*"
279+
239280pipelines :
240281 custom :
241282 e2e-on-custom-backend :
@@ -253,6 +294,8 @@ pipelines:
253294 - step : *turn-on-dev
254295 turn-on-staging :
255296 - step : *turn-on-staging
297+ turn-on-test :
298+ - step : *turn-on-test
256299 branches :
257300 ' dspace-cris-2024_02_x ' :
258301 - step : *preliminary-operation
@@ -272,6 +315,14 @@ pipelines:
272315 - step : *find-and-invalidate-cloudfront-dev
273316 - step : *deploy-on-staging
274317 - step : *find-and-invalidate-cloudfront-staging
318+ ' test/** ' :
319+ - step : *preliminary-operation
320+ - step : *angular-build
321+ - parallel : *parallel-run-tests
322+ - step : *build-and-push
323+ - step : *deploy-on-test
324+ - step : *find-and-invalidate-cloudfront-test
325+
275326 pull-requests :
276327 ' ** ' :
277328 - step : *preliminary-operation
0 commit comments