From a369979560ee71a86df752286faeb4d7fa6d354f Mon Sep 17 00:00:00 2001
From: Moritz Maxeiner <mm@ucw.sh>
Date: Tue, 11 Dec 2018 12:54:55 +0100
Subject: [PATCH] Update ci/cd

---
 .gitlab-ci.yml | 75 +++++++++++++++++++++++++++++++-------------------
 1 file changed, 46 insertions(+), 29 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 64abc9d..55083c2 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -4,48 +4,63 @@ stages:
   - deploy
 
 
-.base ubuntu-18.04: &base_ubuntu_18_04
+.ubuntu-18.04:
   tags: [ linux, docker ]
-  image: git.imp.fu-berlin.de:5000/bioroboticslab/robofish/docker:ubuntu-18.04
+  image: git.imp.fu-berlin.de:5000/bioroboticslab/robofish/docker:devel-ubuntu18.04
 
-.base windows: &base_windows
+.windows:
   tags: [ windows, docker ]
-  image: git.imp.fu-berlin.de:5000/bioroboticslab/robofish/docker:windows
+  image: git.imp.fu-berlin.de:5000/bioroboticslab/robofish/docker:devel-windows
 
 
-.build ubuntu-18.04: &build_ubuntu_18_04
+.gcc8: &gcc8
+  CC: gcc-8
+  CXX: g++-8
+
+.msvc15.9: &msvc15_9
+  VSDevEnv -arch=amd64 -vcvars_ver="14.16"
+
+.debug: &debug
+  CMAKE_BUILD_TYPE: Debug
+
+.release: &release
+  CMAKE_BUILD_TYPE: Release
+
+
+.build ubuntu-18.04:
+  extends: .ubuntu-18.04
   stage: build
-  <<: *base_ubuntu_18_04
-  variables:
-    CC: gcc-8
-    CXX: g++-8
   artifacts:
     paths:
       - build
     expire_in: 1 day
+  script:
+    - cmake -Bbuild -H. -DCMAKE_BUILD_TYPE="$CMAKE_BUILD_TYPE" -G Ninja -DCMAKE_SUPPRESS_REGENERATION=ON -DCMAKE_SKIP_PACKAGE_ALL_DEPENDENCY=ON
+    - ninja -C build
 
-.build windows: &build_windows
+.build windows:
+  extends: .windows
   stage: build
-  <<: *base_windows
   artifacts:
     paths:
       - build
     expire_in: 1 day
-  before_script:
-    - . /Library.ps1
-    - VSDevEnv -arch=amd64 -vcvars_ver="14.15"
-
-build ubuntu-18.04:
-  <<: *build_ubuntu_18_04
   script:
-    - cmake -Bbuild -H. -DCMAKE_BUILD_TYPE=Release -G Ninja -DCMAKE_SUPPRESS_REGENERATION=ON -DCMAKE_SKIP_PACKAGE_ALL_DEPENDENCY=ON
+    - cmake -Bbuild "-H." -DCMAKE_BUILD_TYPE="$CMAKE_BUILD_TYPE" -G Ninja -DCMAKE_TOOLCHAIN_FILE="$env:VCPKG_DIR/scripts/buildsystems/vcpkg.cmake" -DVCPKG_TARGET_TRIPLET="$env:VCPKG_TRIPLET" -DCMAKE_SUPPRESS_REGENERATION=ON -DCMAKE_SKIP_PACKAGE_ALL_DEPENDENCY=ON
     - ninja -C build
 
+build ubuntu-18.04:
+  extends: .build ubuntu-18.04
+  variables:
+    <<: [ *gcc8, *release ]
+
 build windows:
-  <<: *build_windows
-  script:
-    - cmake -Bbuild "-H." -DCMAKE_BUILD_TYPE=Release -G Ninja -DCMAKE_PREFIX_PATH="$env:CMAKE_PREFIX_PATH" -DCPACK_PACKAGE_DIRECTORY="$env:PACKAGE_DIR" -DCMAKE_SUPPRESS_REGENERATION=ON -DCMAKE_SKIP_PACKAGE_ALL_DEPENDENCY=ON
-    - ninja -C build
+  extends: .build windows
+  variables:
+    <<: [ *release ]
+  before_script:
+    - . $Profile
+    - *msvc15_9
 
 .package: &package
   stage: package
@@ -57,20 +72,22 @@ build windows:
     - ninja -C build package
 
 package ubuntu-18.04:
-  <<: *base_ubuntu_18_04
+  extends: .ubuntu-18.04
   dependencies:
     - build ubuntu-18.04
   <<: *package
 
 package windows:
-  <<: *base_windows
+  extends: .windows
   dependencies:
     - build windows
   <<: *package
 
 trigger dependents:
-  stage: deploy
-  <<: *base_ubuntu_18_04
-  script:
-    - curl --request POST --form "token=$CI_JOB_TOKEN" --form ref=master https://git.imp.fu-berlin.de/api/v4/projects/3654/trigger/pipeline
-    - curl --request POST --form "token=$CI_JOB_TOKEN" --form ref=master https://git.imp.fu-berlin.de/api/v4/projects/3464/trigger/pipeline
+ extends: .ubuntu-18.04
+ stage: deploy
+ script:
+    - . /etc/profile.d/robofish.sh
+    - gitlab-trigger-pipeline bioroboticslab%2Frobofish%2Fsimulator     $CI_JOB_TOKEN master
+    - gitlab-trigger-pipeline bioroboticslab%2Frobofish%2Frobo_tracker  $CI_JOB_TOKEN master
+    - gitlab-trigger-pipeline bioroboticslab%2Fbiotracker%2Fbiotracker  $CI_JOB_TOKEN master
-- 
GitLab