Skip to content
Snippets Groups Projects
Commit 75223433 authored by michael.minelli's avatar michael.minelli
Browse files

Merge branch 'test_infra' into v3.1.0

parents 4a4336c8 04b31753
Branches
Tags
No related merge requests found
Pipeline #27051 passed
......@@ -4,8 +4,11 @@
#/--------------------------------------------------/
# development
DOTENV_VAULT_DEVELOPMENT="Au1M8CnhJUGXCLf5E8mKtiOMbDsfBjJv0XOQqHUHooo2R+EaGhcAtrQb6SbgC8DNZE0yTbQob7QpapvLENGyXlrfrM6MPHAeVMJbV9w0EmAvvaKPK3Ri5EOENVPT+IF7L34T+5Tzd5VNMSaVntIYKt7rjyOVMbmr72mtUnyw1ZFCiKPSRUiYlEIfuxgvUZ2hB0GVh0XnUv+yXUAO8GLbbg45xGWYQUu+7SBEmnC9xOVuW0jTgluroTqu8GqWwK3Kiq87h13WPCVewVxWPtPIphdOxCxF8ockXvJ4oDgnMjiCKOYihxj1e25r83kLPpwCguOQr4/PFFKF20AfdNSa9cAZjMrWe5BIgpDCGOC9/q08OzGQfwR+KOQF1+aHWhjwvlA1+M4wuCH5ZSN8jOSsaPrMcEMeF/nHpU/3sGnGxcMo2zAjcPXwgbFqFEuAZyNz1rOJPMyv335p4ZXkpBsnkUy8BQ3sZDnybx+dZETvOYH2/17aNGGGN+eS9A+VWGegqeD1JRYdP6d+hWDWuEgSWDpmcHF4PW9R8xQxZZavhj+nposY+Evcmp1/qnYeERbavVyXh2L49fJfZzy/0rZzcgrMvrN3yOaKtjf5kmvZmHUNi4Y9WcebZXokcAHYrPPvWNq5yXtZVvVAxvLpLTi1DMcT7FqnAVYaqg4DxwIZ6Ny2kEssloi/bvNp0CidCcCovMh4HTjrRWp7IUv4YA9FekCQuf5dk+MZYf9n57Q6AOsI0YllzG5S/FfklhPkhOP7Twqy0LHcBHMjW79gpC1q2ZxM+iHIJVsZZ0LMduNvjLvNWe1c77lIH4eKDsD5Ocz+vECDcl7FFhSYEDHmN2rAJzL72+2IehPGVuHo/AMpyk9VCFk4viVgZNv+Bj15JC6/ioMPTZUCAQ1TD37am70gwVHCfLqfPK+W81MbXOCtuX8U/OStjSOGs9Y+0MF/My2v3XhZLer3Z4OTHAxFBd0B4tT4CxixYuNuD1QBxB4FjTUrbKbsZskMFd+75T9aGCaLsDfWzKrgWgElp6IrXLg4uvg16rIWMOL13YE+3NYYucEE1ZdPW+ZbAr1h8SCdZTXHEdgRQACEyqCiyJs2Xpy01hU59hMto+M8sA935xhAePOPDZ7jD4BqWOtQFP2+evXmsvvlf0lU7ANUT7QIYJKKwGA4rSpP7A=="
DOTENV_VAULT_DEVELOPMENT="5g8bGHO2gv3YgdpmW5PvpWORmnu6pppW99g16TX37S81eA4Dnl0CfI0ljVAkDQ45u6lUUUFZEGfFE2x9Lgg+zENxfkVvZAkzFj+0rRKaxipqSj97taT/tVJbXq3M5cmlVwQNP9AKJMLF6/+r/+MPdhkGHU/yM/5/ycmZZoPqfHAmt6KRoTyRMBPH3/kR/7PK5lRpxf4iLSewOD5tBz60nI3GF61mpRFhIloTMsnaab65wERGwA32GS6JKU3RRaQVyyLi/d2kUfFTrq3HN7d37ZN0iNqPv556/ZNs9vmHfgjlNR9SYytzVgyVLKzRlvUpp1mz4tDDpA3OgqV5nymwQ8uSKXuvfhVnh5ac4Nf+v6xcgukt6ps2VEU5VR/qn0nwBX1zWR+K0d/lZxuKtQxVAwUq3Qhwfd8xgmm9iDmW9CqcgXp2SOsRnUaWmLcqgrlfPEJle/EVBDDL/OgzVqky/ZU0nZSJf5W9KAHGXm+CbXX7c7HljMACQdU64wvoI4CNhZ/SJvbdjSBuK45Y08FIv0G7hg52+7tA/qx/p8iST6a4Glqtwvh1TOt8ezEM0UATVy+26EnK44WRku7Xv1ZuLAyHEfmLVxsIeXXzyIHft8Iy3A1Lf4Hm4jcNaYap0DvWPREMTwGXb7FkgTSpdUfYCB2ctdl1Ndva7NDWQwuIC38/+fn5JouB6jyHRB6SfLl/YIz9NeNGPSHRofO46qI1HX2LTZ312ns3wv/8+gOsRmgwBtKuqZ2OqvQYqEnc+372n3MdkRTVIPM+QjvEAkInVtIZY9cWT1aSMFfXEyekDAVxxVKrlzYu1cogwbdMleeTz9XU0qzsghp6ftwox79aStcjCcJHiMTOuz+HWm6MVq0lFwsDvZQVSCYgjkoZBUWvS54c6zcumkbBJF5szyOJrVsiU8QCq47zaQ1O+WIKq1QFhgZm6W2vq7sc/lMPH/gDV2U5O3NpVA0NOo3OBRezkmeX3R7ElVmvHYZxnTtTcepep+5XJkdzrDVuSJWdVM8MWzh16YiefFYD5gxWG6tp8QVM+BXLS/5ErBpKc+40ReBGAL+9spiBxAAgwog4WkKt2jklOCKqQWa3dTcKCqi+g5TwvpOGLmgNg9wg2T5ZR5+W+U4A8bKxSbUdFjYlv7Jxje2ipmbfI3o515xFEiFYc0gPgGSBqg=="
# production
DOTENV_VAULT_PRODUCTION="UYGmmTiLq+yxMucNPc82nYxyvSfH9PMEVF91hN7qcR4KqaJtKIiiUXOwln+sEYf67Ga/8qSdLg67r5oka07sG0DWVMuWZjUq3RCPscFDZkILxcfg2C29o4gKcg6Kp4xDsFHA25I1Gu/6TZML6V5kk59a31TUDY3mA4AjvFANVh7bm90hWkKpa57YcIO6guH2RsDeuAYQEQt0m3o4zT1/QA7+f844Z7szCNa0vQ/U3h7mL16nqLDYzokWE6euIU9BYFMNL+H54odF8wGOnESMq032FYRbsN4nfeA2CvNclkIQnz3zn1zVGTQLNE/kDqTJOvrDA6tc6InM5ow1EoD6/8Do/Z/knB6Y0fo9BDDrsD0NTWFT0u/ukoURG8Eja9kw011S+bQiT3K3L+lpVL6Sy2Z4vK7qicg90BoejAdb9xvQ80zqqe7+jolczJeD+QeGSg1u2l7G0RAbuMiNKS4Rt3imTm3jYcYsE+YEUcDIciHuTtb9a4agZve4JsaQgu5+miLZWsNkPlCcD24L2d8M8rrxphjhsnFgRVqKXX77ec8d/SNt6NpS3DHgmEn3YQBdu1lkijLCVFXLJf0PlFSIRhaoSh/UBr+zcrfWURsZeFpOg5/Ssah2aocZzHJaddHrcWO6iXCEozsiLWeAZf0sxh9qDkcopaQQv7BeTdHMyGBwyDqWv1lbmNzOfXXRQojJRrGt+0QU4oGVGqLXHxoW9ruhmHTry+Vnr5jOjUchaIhrLOEg8GFPJ5PLSugoNpZ24IRrjA=="
DOTENV_VAULT_PRODUCTION="7aZnWWflHA4gs5ZZHDpwkeHeKvDMDReEkKFaaVknWI1g7V3mBztxc+26BlfLvAhQxNPRTt5Rkqybf6g4B8lvy0sTlR3qQoM4AYXiNZe4L/GGeefozJnGAd5hUBLO9Chqu2C22cU7Xe4dHcHV08Fxnu8aKL9iTwR5a3PvrNlpIeNIIyoBMLDDKpdhhj7ru4Jv/bsj5Jr7+yddkUg5538+gVnFxT34cOoWAEgibXRpAbEdZxeHn1AwoIAz7ToRbDllcwc9QPhpRHLIg+QsubLZ8eLCrzeUmMWJA/VWvOvH7ZowlbewHpc/W5MyIoiUlXztrroTe2MDYySyYgCK2z8aDpvEJ5wm0WPAzz+UTmsIOJ4QD86kKuXrj8BEVkxX6buNbDcl2yJ/1laobsjSLQHjfGReElP241JKhH4wgkcbsEtAgCfX9VzJ+aqHErIVlXlQW4uLHiTNjo3pHJAfvMJ3rzq/OgdX/4s/5eebQieNbvPUKznJyhYzsSmrj2OUL/A9Cl0pz8NvD6Vw0/ujC7hI36HlZHLI09/4dBKzlUS2oRhSnSB0SIwh0TY0I3jHz+PSqv2cUQcbU19ZcT0IvW7jhTb3gWNzYb839OEjs8VYM2sTSOezKswJpu5sV4NqUONwHhvGkJsAHaFZ1IPpW5kyUCHDkjoD9zFiVo5676XLGjt+fhb+XGXoFDnNpVc1OCGCrDsKMtoCRRpC3eOGrE9bvX6oF3BEhhheUefRYG649PjZNbJNvD5wrrprzahhjQvq6bA0rA=="
# test
DOTENV_VAULT_TEST="slPyHq6uj365knunmDQbHELis6HUmi/5/n2WG6GiRVskNBYYFP1Hh7vMo52K23KHw2DV3cVM3wlDM4OKSCErqN8NOUukB0zIWhjOnio7U6eXzcsZcK0i2cCyH292zfnrKdWjzxecLgI+/nPX8gb5/0iQTr/c1dhLf3t24jfQZO8P4LGBYdvetrgnaMedRy/k6dDzO4Yxl33Oa9sQCwsL0OtUkfF9k6pE6Z89j/GiO3RRGOiM1XrMkUk/XojMYdXQkRpRPm5YW8i9tEpwPiH8QP/cqHfSz8IL3BKBVOeSoYaJb7NbvF4yhxt5d990Ugu1geYISrrLXhw2z4g2oNRS8YK3nraaXJtlMqTYUZJMoAGBtqhwrdfn33VqQJDbwmtaQsDl8lQ94kJvODeThxQdniS90sUe6WYVsUKdKj48I+JiSiTjJfYS29GOhKvPsZz8CszNiVu5ib6IiZgEFtvl6s+/I143HaahQLtGv6ZynYk7bUuRGd0jaiZR+J2o/rzPMeRCdEOxpByEAs302zZjVnxV582IinG1jRGvu27/BqDyn1j5p3jIJNL9AX5ptuoi0cC3kuJMzALWa51MbD8UOv5Tq68lxDnuG1k77f0QaLsrzdzbJwTpqmJPN3MFYzTQWyqBLUSA32eW0bablKR+YXcvfR6/3ikRofDE10bJYVqX5Ene1DaBXMZwQpaesnto46w+QBL0GRqkvAzQcdtWkl2ABuqRYBB4sWnZHMpbopspwsbV/EdwlcXdwNXHQf2z4m5k8f4Uh6toSwzn"
......@@ -6,9 +6,14 @@ variables:
DOCKER_TLS_CERTDIR:
DOCKER_DRIVER: overlay2
DOCKER_REGISTRY: docker.io
DOCKER_REGISTRY_USER: dojohesso
DOCKER_REGISTRY_IMAGE: dojohesso/dojo_exercise_checker
PROJECT_NAME: DojoExerciseChecker
VERSION_DEV_SUFFIX: '-dev'
VERSION_TEST_SUFFIX: '-test'
GITLAB_API_PROJECT_URL: ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}
......
.get_vars:
script:
- IS_DEV=$([[ $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH && $CI_COMMIT_BRANCH != "test" ]] && echo true || echo false)
- IS_TEST=$([[ $CI_COMMIT_BRANCH == "test" ]] && echo true || echo false)
- |
if [[ $IS_TEST == true ]]; then
DOCKER_REGISTRY_USER="dojohessotest"
DOCKER_REGISTRY_IMAGE="dojohesso/dojo-test_exercise_checker"
DOCKER_REGISTRY_PASSWORD=$DOCKER_TEST_REGISTRY_PASSWORD
DOTENV_PROD_KEY=$DOTENV_TEST_KEY
fi
.get_version:
script:
- IS_DEV=$([[ $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH ]] && echo false || echo true)
- VERSION=$(jq -r .version $PROJECT_FOLDER/package.json)$([[ $IS_DEV == true ]] && echo $VERSION_DEV_SUFFIX || echo '')
- VERSION=$(jq -r .version $PROJECT_FOLDER/package.json)$([[ $IS_TEST == true ]] && echo $VERSION_TEST_SUFFIX || echo '' )$([[ $IS_DEV == true ]] && echo $VERSION_DEV_SUFFIX || echo '')
.get_packages_url:
......@@ -21,7 +33,7 @@
# Init docker buildx
- |
if [ $CI_COMMIT_REF_PROTECTED == "true" ]; then
if [[ $CI_COMMIT_REF_PROTECTED == "true" || $IS_TEST == true ]]; then
docker login -u $DOCKER_REGISTRY_USER -p $DOCKER_REGISTRY_PASSWORD $DOCKER_REGISTRY
fi
- docker buildx create --use
......@@ -41,15 +53,20 @@
- cd $PROJECT_FOLDER
- sed -i -r "s/\{\{VERSION\}\}/${VERSION}/g" src/app.ts
- |
if [ $CI_COMMIT_REF_PROTECTED == "true" ]; then
if [[ $CI_COMMIT_REF_PROTECTED == "true" || $IS_TEST == true ]]; then
echo "Decrypt production env vars"
sed -i -r "s/(DOTENV_KEY[ ]*:[ ]*[\'\"\`])[^'\"\`]*([\'\"\`])([ ]*\,)?//g" src/app.ts
sed -i -r "s/,[\ \n]*\}/\}/g" src/app.ts
npx dotenv-vault local decrypt "${DOTENV_PROD_KEY}" > .env
fi
- cd ..
# Rename executable for test
- |
if [[ $IS_TEST == true ]]; then
sed -i -r "s%dojo_exercise_checker%dojo-test_exercise_checker%g" $DOCKERFILE
fi
# Need to build for each platform separately because of multi-stage builds (docker buildx don't use cache same way as docker build)
- >
platform_array=$(echo $DOCKER_PLATFORMS | tr "," "\n");
......
......@@ -4,4 +4,7 @@ stages:
- build
- clean
- upload
- release
\ No newline at end of file
- release
before_script:
- !reference [ .get_vars, script ]
\ No newline at end of file
......@@ -8,3 +8,5 @@ code_quality:lint:
- npm install
- npm run lint
rules:
- if: '$CI_COMMIT_TAG =~ "/^$/"'
......@@ -9,4 +9,4 @@ test:build:
script:
- !reference [ .build_script, script ]
rules:
- if: '$CI_COMMIT_TAG =~ "/^$/" && $CI_COMMIT_REF_PROTECTED != "true"'
\ No newline at end of file
- if: '$CI_COMMIT_TAG =~ "/^$/" && $CI_COMMIT_REF_PROTECTED != "true" && $CI_COMMIT_BRANCH != "test"'
\ No newline at end of file
......@@ -12,4 +12,4 @@ build:version:
# Here docker buildx can use cached images created in previous step
- docker buildx build --platform $DOCKER_PLATFORMS --file $DOCKERFILE --push --tag $CONTAINER_IMAGE .
rules:
- if: '$CI_COMMIT_REF_PROTECTED == "true"'
\ No newline at end of file
- if: '$CI_COMMIT_REF_PROTECTED == "true" || $CI_COMMIT_BRANCH == "test"'
\ No newline at end of file
......@@ -12,7 +12,7 @@ release:dockerhub:latest:
# Push latest tag
- docker buildx imagetools create $CONTAINER_IMAGE --tag $DOCKER_REGISTRY_IMAGE:latest
rules:
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH || $CI_COMMIT_BRANCH == "test"'
release:wiki:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment