diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 816f3c28ceb88d1472e9ce3353eb2b1a45df0419..8a4e7169fcc0b48950ff18aea05a9d3c8a4f45e3 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -4,11 +4,12 @@ stages:
   - build
   - test
   - analysis
+  - doc
 
-build_starpu:
+build_starpu_mpi:
   stage: build
   artifacts:
-    name: starpu_build
+    name: starpu_mpi_build
     expire_in: 48 hours
     paths:
       - build
@@ -22,6 +23,23 @@ build_starpu:
     - make | tee ../chameleon-build-starpu.log
     - make install | tee -a ../chameleon-build-starpu.log
 
+build_starpu_cuda:
+  stage: build
+  artifacts:
+    name: starpu_cuda_build
+    expire_in: 48 hours
+    paths:
+      - build
+      - chameleon-build-starpu-cuda.log
+  script:
+    - source .gitlab-ci-env.sh
+    - git submodule update --init --recursive
+    - mkdir -p build
+    - cd build
+    - cmake .. -DCHAMELEON_USE_CUDA=ON -DCHAMELEON_USE_MPI=OFF -DCMAKE_INSTALL_PREFIX=${PWD}/install -DCMAKE_VERBOSE_MAKEFILE=ON -DMORSE_ENABLE_WARNING=ON -DMORSE_ENABLE_COVERAGE=ON
+    - make | tee ../chameleon-build-starpu-cuda.log
+    - make install | tee -a ../chameleon-build-starpu-cuda.log
+
 build_starpu_simgrid:
   stage: build
   artifacts:
@@ -56,20 +74,20 @@ build_quark:
     - make | tee ../chameleon-build-quark.log
     - make install | tee -a ../chameleon-build-quark.log
 
-test_starpu:
+test_starpu_mpi:
   stage: test
   dependencies:
-    - build_starpu
+    - build_starpu_mpi
   artifacts:
     name: starpu_test
     expire_in: 48 hours
     paths:
-      - coverage_starpu.tar.bz2
+      - coverage_starpu_mpi.tar.bz2
   script:
     - source .gitlab-ci-env.sh
     - git submodule update --init --recursive
     - (cd build && STARPU_SILENT=1 ctest --no-compress-output -R test_shm_s || /usr/bin/true && ctest --no-compress-output -R mpi_s || /usr/bin/true)
-    - find -name "*.gcda" | xargs tar cvjf coverage_starpu.tar.bz2
+    - find -name "*.gcda" | xargs tar cvjf coverage_starpu_mpi.tar.bz2
 
 test_starpu_simgrid:
   stage: test
@@ -104,7 +122,7 @@ test_quark:
 sonar:
   stage: analysis
   dependencies:
-    - build_starpu
+    - build_starpu_mpi
     - build_starpu_simgrid
     - build_quark
     - test_starpu
@@ -130,6 +148,7 @@ sonar:
     - issue53/fix-ci
 
 doc:
+  stage: doc
   artifacts:
     name: chameleon_doc
     expire_in: 1 week
@@ -141,5 +160,5 @@ doc:
     - git submodule update --init --recursive
     - mkdir -p build
     - cd build
-    - cmake .. -DCHAMELEON_ENABLE_DOC=ON -DCHAMELEON_ENABLE_EXAMPLE=OFF -DCHAMELEON_ENABLE_TESTING=OFF -DCHAMELEON_ENABLE_TIMING=OFF
+    - cmake .. -DCHAMELEON_ENABLE_DOC=ON
     - make doc
diff --git a/tools/analysis.sh b/tools/analysis.sh
index b6a091f6a906e5bfca51dbfd76b677f98003fb3e..cda4cd479bce05bef60837d14392faad56dd5c1d 100755
--- a/tools/analysis.sh
+++ b/tools/analysis.sh
@@ -51,7 +51,7 @@ sonar.sourceEncoding=UTF-8
 sonar.cxx.compiler.charset=UTF-8
 sonar.cxx.compiler.parser=GCC
 sonar.cxx.compiler.regex=^(.*):(\\d+):\\d+: warning: (.*)\\[(.*)\\]$
-sonar.cxx.compiler.reportPath=chameleon-build-starpu.log, chameleon-build-starpu-simgrid.log, chameleon-build-quark.log
+sonar.cxx.compiler.reportPath=chameleon-build-starpu-mpi.log, chameleon-build-starpu-cuda.log, chameleon-build-starpu-simgrid.log, chameleon-build-quark.log
 sonar.cxx.coverage.reportPath=chameleon-coverage.xml
 sonar.cxx.cppcheck.reportPath=chameleon-cppcheck.xml
 sonar.cxx.rats.reportPath=chameleon-rats.xml