Select Git revision
01_functions.yml 4.09 KiB
.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:
- 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:
script:
# Wiki
- WIKI_ARCHIVE_NAME="${PROJECT_NAME}_Wiki_${VERSION}.tar.xz"
- PACKAGE_URL_WIKI="${PACKAGE_REGISTRY_URL}_Wiki/${VERSION}/${WIKI_ARCHIVE_NAME}"
.init_dind_script:
script:
# Install dependencies
- apk update
- apk add git
- apk add jq
- apk add curl
# Init docker buildx
- |
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
# Get version from package.json
- !reference [ .get_version, script ]
- CONTAINER_IMAGE=$DOCKER_REGISTRY_IMAGE:$VERSION
.build_script:
script:
- !reference [ .init_dind_script, script ]
- mkdir -p $ARTIFACTS_FOLDER
# Decrypt env vars for production
- apk add npm sed
- cd $PROJECT_FOLDER
- sed -i -r "s/\{\{VERSION\}\}/${VERSION}/g" src/app.ts # Needed for have the -dev ou -test suffix in the version
- |
if [[ $CI_COMMIT_REF_PROTECTED == "true" || $IS_TEST == true ]]; then
echo "Decrypt production env vars"
sed -i -r "s/(DOTENV_KEY[ ]*:[ ]*[\'\"\`])[^'\"\`]*([\'\"\`])([ ]*\,)?//g" src/init.ts
sed -i -r "s/,[\ \n]*\}/\}/g" src/init.ts
echo "DOTENV_KEY_PRODUCTION=\"${DOTENV_PROD_KEY}\"" > .env.keys
npx @dotenvx/dotenvx@0.45.0 decrypt
mv .env.production .env
rm .env.keys
fi
- cd ..
# Rename executable for test
- |
if [[ $IS_TEST == true ]]; then