From 3b9975d9b5a555c03ad546cd1390da63e1e92fd0 Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 17 Nov 2021 12:15:52 -0500 Subject: ci: Add JOM nightly CI job --- .gitlab-ci.yml | 14 ++++++++++++ .gitlab/ci/configure_windows_vs2022_x64_jom.cmake | 1 + .gitlab/ci/jom.ps1 | 15 ++++++++++++ .gitlab/os-windows.yml | 28 +++++++++++++++++++++++ 4 files changed, 58 insertions(+) create mode 100644 .gitlab/ci/configure_windows_vs2022_x64_jom.cmake create mode 100755 .gitlab/ci/jom.ps1 diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ba8a204..ee059dc 100644 --- a/.gitlab-ci.yml +++ b/.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 diff --git a/.gitlab/ci/configure_windows_vs2022_x64_jom.cmake b/.gitlab/ci/configure_windows_vs2022_x64_jom.cmake new file mode 100644 index 0000000..166690a --- /dev/null +++ b/.gitlab/ci/configure_windows_vs2022_x64_jom.cmake @@ -0,0 +1 @@ +include("${CMAKE_CURRENT_LIST_DIR}/configure_windows_msvc_common.cmake") diff --git a/.gitlab/ci/jom.ps1 b/.gitlab/ci/jom.ps1 new file mode 100755 index 0000000..6c28005 --- /dev/null +++ b/.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" diff --git a/.gitlab/os-windows.yml b/.gitlab/os-windows.yml index 5471683..e15bbe9 100644 --- a/.gitlab/os-windows.yml +++ b/.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 -- cgit v0.12