From 4c6e3150b7932e211571e2460a127bd5f301ff8f Mon Sep 17 00:00:00 2001 From: Eduard Frankford <e.frankford@student.uibk.ac.at> Date: Wed, 29 Jun 2022 16:22:36 +0200 Subject: [PATCH] enable rest of tests --- .gitlab-ci.yml | 265 +++++++++++++++++++++++++------------------------ 1 file changed, 133 insertions(+), 132 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 08ec91c80..5739b9f04 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -8,105 +8,105 @@ cache: &global_cache policy: pull-push stages: - # - lint - # - build - # - test + - lint + - build + - test - release - deploy - # - e2e + - e2e before_script: - export NG_CLI_ANALYTICS="false" - export MAVEN_USER_HOME=`pwd`/.maven -# pmdCheckstylePrettierLint: -# stage: lint -# cache: [] -# when: always -# script: -# - 'export VERSION="6.40.0"' -# - 'wget "https://github.com/pmd/pmd/releases/download/pmd_releases%2F$VERSION/pmd-bin-$VERSION.zip"' -# - 'jar -xf "pmd-bin-$VERSION.zip"' -# - 'chmod u+x "pmd-bin-$VERSION/bin/run.sh"' -# - SUCCESS=true -# - echo "Running PMD" -# - '"pmd-bin-$VERSION/bin/run.sh" pmd -d src/main/java -f textcolor -R pmd_rules.xml 2>&1 | tee pmd.log || SUCCESS=false' -# - echo "Running checkstyle" -# - ./mvnw -ntp checkstyle:check -Dmaven.repo.local=$MAVEN_USER_HOME || SUCCESS=false -# - echo "Running prettier" -# - npm install -# - npm run prettier:check -# - echo "Running eslint" -# - 'npm run lint | tee lint.log' -# - "! grep -qE '✖ [0-9]+ problem' lint.log || SUCCESS=false" -# - $SUCCESS -# needs: [] -# artifacts: -# when: on_failure -# expire_in: 30 days -# paths: -# - pmd.log +pmdCheckstylePrettierLint: + stage: lint + cache: [] + when: always + script: + - 'export VERSION="6.40.0"' + - 'wget "https://github.com/pmd/pmd/releases/download/pmd_releases%2F$VERSION/pmd-bin-$VERSION.zip"' + - 'jar -xf "pmd-bin-$VERSION.zip"' + - 'chmod u+x "pmd-bin-$VERSION/bin/run.sh"' + - SUCCESS=true + - echo "Running PMD" + - '"pmd-bin-$VERSION/bin/run.sh" pmd -d src/main/java -f textcolor -R pmd_rules.xml 2>&1 | tee pmd.log || SUCCESS=false' + - echo "Running checkstyle" + - ./mvnw -ntp checkstyle:check -Dmaven.repo.local=$MAVEN_USER_HOME || SUCCESS=false + - echo "Running prettier" + - npm install + - npm run prettier:check + - echo "Running eslint" + - 'npm run lint | tee lint.log' + - "! grep -qE '✖ [0-9]+ problem' lint.log || SUCCESS=false" + - $SUCCESS + needs: [] + artifacts: + when: on_failure + expire_in: 30 days + paths: + - pmd.log -# maven-compile: -# stage: build -# script: -# - ./mvnw -ntp compile -P-webapp -Dmaven.repo.local=$MAVEN_USER_HOME -# artifacts: -# paths: -# - target/classes/ -# - target/generated-sources/ -# expire_in: 15 days -# needs: [] -# cache: [] +maven-compile: + stage: build + script: + - ./mvnw -ntp compile -P-webapp -Dmaven.repo.local=$MAVEN_USER_HOME + artifacts: + paths: + - target/classes/ + - target/generated-sources/ + expire_in: 15 days + needs: [] + cache: [] -# maven-test: -# services: -# - docker:20-dind -# variables: -# DOCKER_HOST: 'tcp://docker:2375' -# DOCKER_TLS_CERTDIR: '' -# stage: test -# cache: -# # inherit all global cache settings -# <<: *global_cache -# # override the policy -# policy: pull -# script: -# - ./mvnw -ntp verify -P-webapp -Dmaven.repo.local=$MAVEN_USER_HOME -Dspring.profiles.active=testcontainers -# allow_failure: true -# artifacts: -# reports: -# junit: -# - target/surefire-reports/TEST-*.xml -# - target/failsafe-reports/TEST-*.xml -# paths: -# - target/surefire-reports -# - target/failsafe-reports -# - target/site -# when: always -# expire_in: 15 days -# needs: [] +maven-test: + services: + - docker:20-dind + variables: + DOCKER_HOST: 'tcp://docker:2375' + DOCKER_TLS_CERTDIR: '' + stage: test + cache: + # inherit all global cache settings + <<: *global_cache + # override the policy + policy: pull + script: + - ./mvnw -ntp verify -P-webapp -Dmaven.repo.local=$MAVEN_USER_HOME -Dspring.profiles.active=testcontainers + allow_failure: true + artifacts: + reports: + junit: + - target/surefire-reports/TEST-*.xml + - target/failsafe-reports/TEST-*.xml + paths: + - target/surefire-reports + - target/failsafe-reports + - target/site + when: always + expire_in: 15 days + needs: [] -# frontend-test: -# stage: test -# cache: -# <<: *global_cache -# policy: pull -# script: -# - npm test -# artifacts: -# reports: -# junit: target/test-results/TESTS-results-jest.xml -# paths: -# - target/test-results -# - target/jacoco -# when: always -# expire_in: 15 days -# needs: [] -# before_script: -# - export NG_CLI_ANALYTICS="false" -# - export MAVEN_USER_HOME=`pwd`/.maven -# - npm ci --cache .npm --prefer-offline +frontend-test: + stage: test + cache: + <<: *global_cache + policy: pull + script: + - npm test + artifacts: + reports: + junit: target/test-results/TESTS-results-jest.xml + paths: + - target/test-results + - target/jacoco + when: always + expire_in: 15 days + needs: [] + before_script: + - export NG_CLI_ANALYTICS="false" + - export MAVEN_USER_HOME=`pwd`/.maven + - npm ci --cache .npm --prefer-offline docker-build: stage: release @@ -114,9 +114,9 @@ docker-build: # only: # refs: # - development - # dependencies: - # - maven-test - # - frontend-test + dependencies: + - maven-test + - frontend-test before_script: - mkdir -p ~/.ssh - echo "${SSH_BKY_DEPLOY}" > ~/.ssh/id_rsa @@ -149,44 +149,45 @@ deploy: script: - ssh contDeploy@codeability-austria -p 1022 "cd gitsearch2/gitsearch && git pull && cd src/main/docker/ && docker pull sharing-codeability.uibk.ac.at:5051/sharing/codeability-sharing-platform/gitsearch && GIT_BRANCH=`git rev-parse --abbrev-ref HEAD` COMMIT_ID=`git rev-parse HEAD` SPRING_PROFILES_ACTIVE=staging,swagger docker-compose -f gitsearch.yml up -d --no-deps --build --force-recreate gitsearch-app && exit" when: on_success -# e2e-test: -# stage: e2e -# cache: -# # inherit all global cache settings -# <<: *global_cache -# # override the policy -# policy: pull -# # only: -# # refs: -# # - development -# services: -# - selenium/standalone-chrome -# dependencies: -# - deploy -# script: -# - npm install -# - wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb -# - dpkg -i google-chrome*.deb -# - export JHI_E2E_HEADLESS=true -# - export E2E_PASSWORD=$E2E_PASSWORD -# - npm run e2e --host=selenium__standalone-chrome -# when: on_success -# sonar-analyze: -# stage: test -# cache: -# # inherit all global cache settings -# <<: *global_cache -# # override the policy -# policy: pull -# dependencies: -# - maven-test -# - frontend-test -# script: -# - ./mvnw -ntp org.jacoco:jacoco-maven-plugin:prepare-agent initialize sonar:sonar -Dsonar.organization=codeAbility -Dsonar.host.url=https://qe-sonarqube.uibk.ac.at/ -Dsonar.login=${SONAR_TOKEN_QE} -Dmaven.repo.local=$MAVEN_USER_HOME -# # - ./mvnw -ntp org.jacoco:jacoco-maven-plugin:prepare-agent initialize sonar:sonar -Dsonar.organization=codeAbility -Dsonar.host.url=https://server.arctis.at/sonar/ -Dsonar.login=${SONAR_TOKEN} -Dmaven.repo.local=$MAVEN_USER_HOME -# allow_failure: true -# before_script: -# - export NG_CLI_ANALYTICS="false" -# - export MAVEN_USER_HOME=`pwd`/.maven -# - npm ci --cache .npm --prefer-offline +e2e-test: + stage: e2e + cache: + # inherit all global cache settings + <<: *global_cache + # override the policy + policy: pull + # only: + # refs: + # - development + services: + - selenium/standalone-chrome + dependencies: + - deploy + script: + - npm install + - wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb + - dpkg -i google-chrome*.deb + - export JHI_E2E_HEADLESS=true + - export E2E_PASSWORD=$E2E_PASSWORD + - npm run e2e --host=selenium__standalone-chrome + when: on_success + +sonar-analyze: + stage: test + cache: + # inherit all global cache settings + <<: *global_cache + # override the policy + policy: pull + dependencies: + - maven-test + - frontend-test + script: + - ./mvnw -ntp org.jacoco:jacoco-maven-plugin:prepare-agent initialize sonar:sonar -Dsonar.organization=codeAbility -Dsonar.host.url=https://qe-sonarqube.uibk.ac.at/ -Dsonar.login=${SONAR_TOKEN_QE} -Dmaven.repo.local=$MAVEN_USER_HOME + # - ./mvnw -ntp org.jacoco:jacoco-maven-plugin:prepare-agent initialize sonar:sonar -Dsonar.organization=codeAbility -Dsonar.host.url=https://server.arctis.at/sonar/ -Dsonar.login=${SONAR_TOKEN} -Dmaven.repo.local=$MAVEN_USER_HOME + allow_failure: true + before_script: + - export NG_CLI_ANALYTICS="false" + - export MAVEN_USER_HOME=`pwd`/.maven + - npm ci --cache .npm --prefer-offline -- GitLab