From 15e38414339012eddc5fadf3a6f326968c8096b3 Mon Sep 17 00:00:00 2001
From: Alexis POYEN <apoyen@grandlyon.com>
Date: Thu, 8 Oct 2020 13:46:34 +0200
Subject: [PATCH] Run sonar analysis concurrently for better performance.

---
 .gitlab-ci.yml | 39 +++++++++++++++++++--------------------
 1 file changed, 19 insertions(+), 20 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index af7816d..813b4e4 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -18,38 +18,37 @@ variables:
   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-and-test-with-sonar-concurrently
 
 build-master:
-  stage: 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 --build-arg BUILDKIT_INLINE_CACHE=1 --pull -t "$CI_REGISTRY_IMAGE" .
+    - DOCKER_BUILDKIT=1 docker build --pull -t "$CI_REGISTRY_IMAGE" .
     - docker push "$CI_REGISTRY_IMAGE"
   only:
     - master
 
 build:
-  stage: 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 --build-arg BUILDKIT_INLINE_CACHE=1 --pull -t "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG" .
+    - 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:
+    - >
+      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.exclusions=**/*_test.go
-- 
GitLab