Browse Source

gitlab-ci: add a Ninja Multi-Config test job

This reuses the Ninja generator's tested build.
Ben Boeckel 5 years ago
parent
commit
e1b2c0108f
2 changed files with 35 additions and 0 deletions
  1. 34 0
      .gitlab-ci.yml
  2. 1 0
      .gitlab/ci/configure_fedora31_ninja_multi.cmake

+ 34 - 0
.gitlab-ci.yml

@@ -57,6 +57,14 @@
         CMAKE_CONFIGURATION: fedora31_ninja
         CTEST_NO_WARNINGS_ALLOWED: 1
 
+.fedora31_ninja_multi: &fedora31_ninja_multi
+    extends: .fedora31
+
+    variables:
+        CMAKE_CONFIGURATION: fedora31_ninja_multi
+        CTEST_NO_WARNINGS_ALLOWED: 1
+        CMAKE_GENERATOR: "Ninja Multi-Config"
+
 .fedora31_makefiles: &fedora31_makefiles
     extends: .fedora31
 
@@ -297,6 +305,20 @@
 
     interruptible: true
 
+.cmake_test_unix_external: &cmake_test_unix_external
+    stage: test-ext
+
+    script:
+        - *before_script_unix
+        - .gitlab/ci/sccache.sh
+        # Allow the server to already be running.
+        - "sccache --start-server || :"
+        - sccache --show-stats
+        - "$LAUNCHER build/install/bin/ctest --output-on-failure -V -S .gitlab/ci/ctest_test_external.cmake"
+        - sccache --show-stats
+
+    interruptible: true
+
 .cmake_test_windows_external: &cmake_test_windows_external
     stage: test-ext
 
@@ -344,12 +366,24 @@ test:fedora31-ninja:
         - *fedora31_ninja
         - *cmake_test_unix
         - *linux_builder_tags_qt
+        - *cmake_test_artifacts
     rules: *rules_settings
     dependencies:
         - build:fedora31-ninja
     needs:
         - build:fedora31-ninja
 
+test:fedora31-ninja-multi:
+    <<:
+        - *fedora31_ninja_multi
+        - *cmake_test_unix_external
+        - *linux_builder_tags_qt
+    rules: *rules_settings
+    dependencies:
+        - test:fedora31-ninja
+    needs:
+        - test:fedora31-ninja
+
 build:fedora31-makefiles:
     <<:
         - *fedora31_makefiles

+ 1 - 0
.gitlab/ci/configure_fedora31_ninja_multi.cmake

@@ -0,0 +1 @@
+include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake")