Browse Source

ci: Add JOM nightly CI job

Brad King 4 years ago
parent
commit
3b9975d9b5
4 changed files with 58 additions and 0 deletions
  1. 14 0
      .gitlab-ci.yml
  2. 1 0
      .gitlab/ci/configure_windows_vs2022_x64_jom.cmake
  3. 15 0
      .gitlab/ci/jom.ps1
  4. 28 0
      .gitlab/os-windows.yml

+ 14 - 0
.gitlab-ci.yml

@@ -785,6 +785,20 @@ test:windows-vs2022-x64-nmake:
     variables:
         CMAKE_CI_JOB_NIGHTLY: "true"
 
+test:windows-vs2022-x64-jom:
+    extends:
+        - .windows_vs2022_x64_jom
+        - .cmake_test_windows_jom
+        - .windows_tags_concurrent_vs2022
+        - .cmake_junit_artifacts
+        - .run_dependent
+    dependencies:
+        - test:windows-vs2022-x64-ninja
+    needs:
+        - test:windows-vs2022-x64-ninja
+    variables:
+        CMAKE_CI_JOB_NIGHTLY: "true"
+
 test:windows-borland5.5:
     extends:
         - .windows_borland5.5

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

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

+ 15 - 0
.gitlab/ci/jom.ps1

@@ -0,0 +1,15 @@
+$erroractionpreference = "stop"
+
+$sha256sum = "128FDD846FE24F8594EED37D1D8929A0EA78DF563537C0C1B1861A635013FFF8"
+$tarball = "unstable-jom-2018-12-12.zip"
+
+$outdir = $pwd.Path
+$outdir = "$outdir\.gitlab"
+$ProgressPreference = 'SilentlyContinue'
+Invoke-WebRequest -Uri "https://cmake.org/files/dependencies/$tarball" -OutFile "$outdir\$tarball"
+$hash = Get-FileHash "$outdir\$tarball" -Algorithm SHA256
+if ($hash.Hash -ne $sha256sum) {
+    exit 1
+}
+
+Expand-Archive -Path "$outdir\$tarball" -DestinationPath "$outdir\jom"

+ 28 - 0
.gitlab/os-windows.yml

@@ -95,6 +95,14 @@
         CMAKE_CI_BUILD_TYPE: Release
         CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
 
+.windows_jom:
+    extends: .windows
+
+    variables:
+        CMAKE_GENERATOR: "NMake Makefiles JOM"
+        CMAKE_CI_BUILD_TYPE: Release
+        CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
+
 .windows_vs2022_x64_nmake:
     extends:
         - .windows_nmake
@@ -103,6 +111,14 @@
     variables:
         CMAKE_CONFIGURATION: windows_vs2022_x64_nmake
 
+.windows_vs2022_x64_jom:
+    extends:
+        - .windows_jom
+        - .windows_vcvarsall_vs2022_x64
+
+    variables:
+        CMAKE_CONFIGURATION: windows_vs2022_x64_jom
+
 .windows_msvc_v71_nmake:
     extends: .windows_nmake
 
@@ -223,6 +239,18 @@
 
     interruptible: true
 
+.cmake_test_windows_jom:
+    stage: test-ext
+
+    script:
+        - Invoke-Expression -Command .gitlab/ci/jom.ps1
+        - $pwdpath = $pwd.Path
+        - Set-Item -Force -Path "env:PATH" -Value "$pwdpath\.gitlab\jom;$env:PATH"
+        - Invoke-Expression -Command .gitlab/ci/vcvarsall.ps1
+        - build/install/bin/ctest --output-on-failure -V -S .gitlab/ci/ctest_test_external.cmake
+
+    interruptible: true
+
 .cmake_test_windows_borland:
     stage: test-ext