Skip to content
Snippets Groups Projects
Select Git revision
  • cc2110d2e60ad8cee9ae14e45dc8a9fe493d0890
  • main default protected
  • jw_sonar
  • v6.0.0 protected
  • update-dependencies
  • v5.0.0 protected
  • jw_sonar_backup
  • move-to-esm-only
  • 6.0.0-dev
  • 5.0.0
  • 4.2.0
  • 4.1.1
  • 4.1.0
  • 4.0.0
  • 3.5.0
  • 3.4.0
  • 3.3.0
  • 3.2.0
  • 3.1.0
  • 3.0.1
  • 3.0.0
  • 2.2.0
  • 2.1.0
  • 2.0.0
  • v1.0.1
25 results

01_functions.yml

Blame
  • 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