From d5ef7a015d5889038fcab23a7d6f36420f7c36cd Mon Sep 17 00:00:00 2001
From: Alexis POYEN <apoyen@grandlyon.com>
Date: Wed, 2 Sep 2020 09:07:53 +0200
Subject: [PATCH] Refactor : run CI in concurrency with coverage

---
 .gitlab-ci.yml | 72 ++++++++++++++++++++++++++------------------------
 1 file changed, 37 insertions(+), 35 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 1ab484d..f206828 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
-- 
GitLab