From 1495301267a6704081325eab770be84f4398a75b Mon Sep 17 00:00:00 2001
From: Fabian Lennartz <lennartz@vr.rwth-aachen.de>
Date: Mon, 25 Jun 2018 09:09:04 +0200
Subject: [PATCH] merged cherry picked CI config

---
 .gitlab-ci.yml | 181 ++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 179 insertions(+), 2 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 0cff5604..48baa235 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -30,7 +30,7 @@ stages:
 #  Windows
 #-------------------------------------------------------------------------------
 
-# casual builds
+# common builds
 
 conan:windows:msvc++14.1:
   stage: conan
@@ -188,7 +188,184 @@ test:windows_nightly:msvc++14.1:
 #  Linux
 #-------------------------------------------------------------------------------
 
-# casual builds
+# clang
+
+# common build
+
+conan:linux:clang:
+  stage: conan
+  except:
+    - shedules
+  tags:
+    - CentOS
+    - opengl
+    - clang
+  script:
+    - mkdir build
+    - cd build
+    - export CC=clang
+    - export CXX=clang++
+    - conan install .. --build=missing -s compiler="clang" -s compiler.version="4.0" -s compiler.libcxx="libstdc++11" -s build_type=Release
+  artifacts:
+    paths:
+      - build
+    expire_in: 1 week      
+
+cmake:linux:clang:
+  stage: cmake
+  except:
+    - shedules
+  tags:
+    - CentOS
+    - opengl
+    - clang
+  dependencies:
+    - conan:linux:clang
+  script:
+    - cd build
+    - export CC=clang
+    - export CXX=clang++
+    - cmake .. -DIS_BUILD_SERVER:BOOL=TRUE -DCMAKE_BUILD_TYPE=Release     
+  artifacts:
+    untracked: true
+    paths:
+      - build
+    expire_in: 1 week    
+    
+build:linux:clang:
+  stage: build
+  except:
+    - schedules
+  tags:
+    - CentOS
+    - opengl
+    - clang
+  dependencies:
+    - cmake:linux:clang
+  script:
+    - cd build
+    - export CC=clang
+    - export CXX=clang++
+    - make Cpplint-Test-Suite
+    - make Cppcheck-Test-Suite
+    - make -j8
+  artifacts:
+    paths:
+    - build
+    expire_in: 1 week
+  allow_failure: true 
+
+test:linux:clang:
+  stage: test
+  except:
+    - schedules
+  tags:
+    - CentOS
+    - opengl
+    - clang
+  dependencies:
+    - build:linux:clang
+  script:
+    - cd build
+    - export CC=clang
+    - export CXX=clang++
+    - make Unit-Test-Suite  
+
+# nightly build
+
+clear:linux_nightly:clang:
+  stage: clear
+  only:
+    - schedules
+  tags:
+    - nightly
+    - clang
+  script:
+    - echo $CONAN_USER_HOME
+    - cd /home/gitlab-runner/dev
+    - rm -rf ./conan_nightly_clang
+    - mkdir conan_nightly_clang
+
+conan:linux_nightly:clang:
+  stage: conan
+  only:
+    - shedules
+  tags:
+    - nightly
+    - clang
+  script:
+    - conan remote add rwth-vr--bintray https://api.bintray.com/conan/rwth-vr/conan
+    - conan remote add bincrafters_public https://api.bintray.com/conan/bincrafters/public-conan
+    - mkdir build
+    - cd build
+    - export CC=clang
+    - export CXX=clang++
+    - conan install .. --build=missing -s compiler="clang" -s compiler.version="4.0" -s compiler.libcxx="libstdc++11" -s build_type=Release
+  artifacts:
+    paths:
+      - build
+    expire_in: 1 week      
+
+cmake:linux_nightly:clang:
+  stage: cmake
+  only:
+    - shedules
+  tags:
+    - nightly
+    - clang
+  dependencies:
+    - conan:linux_nightly:clang
+  script:
+    - cd build
+    - export CC=clang
+    - export CXX=clang++
+    - cmake .. -DIS_BUILD_SERVER:BOOL=TRUE -DCMAKE_BUILD_TYPE=Release     
+  artifacts:
+    untracked: true
+    paths:
+      - build
+    expire_in: 1 week    
+    
+build:linux_nightly:clang:
+  stage: build
+  only:
+    - schedules
+  tags:
+    - nightly
+    - clang
+  dependencies:
+    - cmake:linux_nightly:clang
+  script:
+    - cd build
+    - export CC=clang
+    - export CXX=clang++
+    - make Cpplint-Test-Suite
+    - make Cppcheck-Test-Suite
+    - make -j8
+  artifacts:
+    paths:
+    - build
+    expire_in: 1 week
+  allow_failure: true 
+
+test:linux_nightly:clang:
+  stage: test
+  only:
+    - schedules
+  tags:
+    - nightly
+    - clang
+  dependencies:
+    - build:linux_nightly:clang
+  script:
+    - cd build
+    - export CC=clang
+    - export CXX=clang++
+    - make Unit-Test-Suite
+    
+# gcc
+
+# common builds
 
 conan:linux:gcc5.3.1:
   stage: conan
-- 
GitLab