From f89cfc734bafd5e08e3a10dbf4137c823bb9dfa9 Mon Sep 17 00:00:00 2001
From: Lars Bilke <lars.bilke@ufz.de>
Date: Thu, 20 Feb 2020 11:29:22 +0100
Subject: [PATCH] [ci] Use extends template for win jobs.

---
 .gitlab-ci.yml                   |  1 +
 scripts/ci/extends/build-win.yml | 17 ++++++++++++++++
 scripts/ci/jobs/build-win.yml    | 25 ++++++++----------------
 scripts/ci/jobs/gui.yml          | 33 ++++++++++++--------------------
 4 files changed, 38 insertions(+), 38 deletions(-)
 create mode 100644 scripts/ci/extends/build-win.yml

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 44c718e279b..9f862dc02f5 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -13,6 +13,7 @@ variables:
 include:
   # extends
   - local: '/scripts/ci/extends/build.yml'
+  - local: '/scripts/ci/extends/build-win.yml'
   - local: '/scripts/ci/extends/container-maker-setup.yml'
   - local: '/scripts/ci/extends/vs2019-environment.yml'
   - local: '/scripts/ci/extends/test-artifacts.yml'
diff --git a/scripts/ci/extends/build-win.yml b/scripts/ci/extends/build-win.yml
new file mode 100644
index 00000000000..67abc7b8ef1
--- /dev/null
+++ b/scripts/ci/extends/build-win.yml
@@ -0,0 +1,17 @@
+.build_win_definition:
+  stage: test
+  extends:
+    - .vs2019-environment
+    - .test-artifacts
+
+  variables:
+    CCACHE_DIR: "$CI_PROJECT_DIR/.ccache"
+
+  script:
+    - mkdir -p $BUILD_DIR
+    - cd $BUILD_DIR
+    - cmake .. -G Ninja $env:CMAKE_ARGS -DCMAKE_BUILD_TYPE=Release -DOGS_BUILD_PROCESSES=GroundwaterFlow
+    - cmake --build . | Tee-Object -FilePath make.output
+    - cmake --build . --target tests
+    - cmake --build . --target ctest
+    - cp Testing/**/Test.xml Tests/ctest.xml
diff --git a/scripts/ci/jobs/build-win.yml b/scripts/ci/jobs/build-win.yml
index 232daf4adeb..a59f4efcd56 100644
--- a/scripts/ci/jobs/build-win.yml
+++ b/scripts/ci/jobs/build-win.yml
@@ -1,23 +1,14 @@
 build win:
   stage: test
+
   tags:
     - windows
+
   variables:
-    BUILD_DIR: "build-win"
-  extends:
-    - .vs2019-environment
-    - .test-artifacts
+    BUILD_DIR: build-win
+    CMAKE_ARGS: >-
+      "-DOGS_USE_PYTHON=ON"
+      "-DOGS_CI_TESTRUNNER_REPEAT=1"
 
-  script:
-    - mkdir -p $BUILD_DIR
-    - cd $BUILD_DIR
-    - |
-      cmake .. -G Ninja `
-        -DCMAKE_BUILD_TYPE=Release `
-        -DOGS_BUILD_PROCESSES=GroundwaterFlow `
-        -DOGS_USE_PYTHON=ON `
-        -DOGS_CI_TESTRUNNER_REPEAT=1
-    - cmake --build . | Tee-Object -FilePath make.output
-    - cmake --build . --target tests
-    - cmake --build . --target ctest
-    - cp Testing/**/Test.xml Tests/ctest.xml
+  extends:
+    - .build_win_definition
diff --git a/scripts/ci/jobs/gui.yml b/scripts/ci/jobs/gui.yml
index a1f06895920..a1e23fbcad8 100644
--- a/scripts/ci/jobs/gui.yml
+++ b/scripts/ci/jobs/gui.yml
@@ -1,28 +1,19 @@
 gui win:
   stage: gui
   when: manual
+
   tags:
     - windows
+
   variables:
-    BUILD_DIR: "build-gui-win"
-  extends:
-    - .vs2019-environment
-    - .test-artifacts
+    BUILD_DIR: build-gui-win
+    CMAKE_ARGS: >-
+      "-DOGS_USE_PYTHON=ON"
+      "-DOGS_BUILD_GUI=ON"
+      "-DOGS_BUILD_UTILS=ON"
+      "-DOGS_BUILD_SWMM=ON"
+      "-DOGS_USE_NETCDF=ON"
+      "-DOGS_CI_TESTRUNNER_REPEAT=1"
 
-  script:
-    - mkdir -p $BUILD_DIR
-    - cd $BUILD_DIR
-    - |
-      cmake .. -G Ninja `
-        -DCMAKE_BUILD_TYPE=Release `
-        -DOGS_BUILD_PROCESSES=GroundwaterFlow `
-        -DOGS_USE_PYTHON=ON `
-        -DOGS_BUILD_GUI=ON `
-        -DOGS_BUILD_UTILS=ON `
-        -DOGS_BUILD_SWMM=ON `
-        -DOGS_USE_NETCDF=ON `
-        -DOGS_CI_TESTRUNNER_REPEAT=1
-    - cmake --build . --target tests
-    - cmake --build . --target ctest
-    - cp Testing/**/Test.xml Tests/ctest.xml
-    - cmake --build .
+  extends:
+    - .build_win_definition
-- 
GitLab