diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1ab484d4328a2bfab2a6ed7230f68d5093ea34b5..f2068284cb431a9c71d9b59083945850a3bf6950 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -17,38 +17,40 @@ variables: GIT_STRATEGY: clone GIT_DEPTH: 0 -stages: - - sonar-analysis - - build - -sonarqube: - stage: sonar-analysis - image: skilldlabs/sonar-scanner:3.4.0 - script: - - > - sonar-scanner - -Dsonar.projectName=${CI_PROJECT_NAME} - -Dsonar.projectVersion=1.0 - -Dsonar.sourceEncoding=UTF-8 - -Dsonar.projectBaseDir=. - -Dsonar.host.url=${SONAR_URL} - -Dsonar.projectKey=${SONAR_PROJECT_KEY} - -Dsonar.login=${SONAR_TOKEN} - -build-master: - stage: build - script: - - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY - - DOCKER_BUILDKIT=1 docker build --pull -t "$CI_REGISTRY_IMAGE" . - - docker push "$CI_REGISTRY_IMAGE" - only: - - master - -build: - stage: build - script: - - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY - - DOCKER_BUILDKIT=1 docker build --pull -t "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG" . - - docker push "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG" - except: - - master + stages: + - build-and-test-with-sonar-concurrently + + build-master: + stage: build-and-test-with-sonar-concurrently + script: + - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY + - DOCKER_BUILDKIT=1 docker build --pull -t "$CI_REGISTRY_IMAGE" . + - docker push "$CI_REGISTRY_IMAGE" + only: + - master + + build: + stage: build-and-test-with-sonar-concurrently + script: + - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY + - DOCKER_BUILDKIT=1 docker build --pull -t "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG" . + - docker push "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG" + except: + - master + + sonarqube: + stage: build-and-test-with-sonar-concurrently + image: registry.forge.grandlyon.com/apoyen/sonnar-scanner-gl:master + script: + - go test ./... -coverprofile=coverage.out + - > + sonar-scanner + -Dsonar.projectName=${CI_PROJECT_NAME} + -Dsonar.projectVersion=1.0 + -Dsonar.sourceEncoding=UTF-8 + -Dsonar.projectBaseDir=. + -Dsonar.host.url=${SONAR_URL} + -Dsonar.projectKey=${SONAR_PROJECT_KEY} + -Dsonar.login=${SONAR_TOKEN} + -Dsonar.go.coverage.reportPaths=./coverage.out + -Dsonar.exclusions=**/*_test.go