diff options
author | Brad King <brad.king@kitware.com> | 2023-04-06 13:10:49 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2023-04-06 13:10:56 (GMT) |
commit | 703f87f32f067ab2122571e652861b43dd86fb4c (patch) | |
tree | 6517c08253ac5456881f96ca0f1215913f3c62b5 | |
parent | 3f68cb080fdd9cbd1e037f039c4a2143ef4950e3 (diff) | |
parent | b7400800df8d284eb1707081641fc0c62a82aa5c (diff) | |
download | CMake-703f87f32f067ab2122571e652861b43dd86fb4c.zip CMake-703f87f32f067ab2122571e652861b43dd86fb4c.tar.gz CMake-703f87f32f067ab2122571e652861b43dd86fb4c.tar.bz2 |
Merge topic 'ci-windows'
b7400800df ci: Make python available in all Windows test jobs
99bf8418ee ci: Update to Python 3.11.3 in Windows jobs
967456423b ci: Factor out initial setup script for Windows external test jobs
3532823dd7 ci: De-duplicate Windows test script for NMake job
3f1a1bad76 ci: De-duplicate Windows test script for JOM job
e2cf20e58c ci: De-duplicate Windows test script for Borland jobs
8af9a52d3e ci: De-duplicate Windows test script for MSVC v71 NMake job
430aa379d4 ci: De-duplicate Windows test script for OpenWatcom job
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8398
-rw-r--r-- | .gitlab-ci.yml | 12 | ||||
-rwxr-xr-x | .gitlab/ci/borland-env.ps1 | 3 | ||||
-rw-r--r-- | .gitlab/ci/download_python3.cmake | 41 | ||||
-rwxr-xr-x | .gitlab/ci/env_windows_borland5.5.ps1 | 1 | ||||
-rwxr-xr-x | .gitlab/ci/env_windows_borland5.8.ps1 | 1 | ||||
-rwxr-xr-x | .gitlab/ci/env_windows_msvc_v71_nmake.ps1 | 2 | ||||
-rwxr-xr-x | .gitlab/ci/env_windows_openwatcom1.9.ps1 | 1 | ||||
-rwxr-xr-x | .gitlab/ci/env_windows_vs2022_x64_jom.ps1 | 4 | ||||
-rwxr-xr-x | .gitlab/ci/env_windows_vs2022_x64_nmake.ps1 | 1 | ||||
-rwxr-xr-x | .gitlab/ci/openwatcom-env.ps1 | 7 | ||||
-rwxr-xr-x | .gitlab/ci/python-env.ps1 | 2 | ||||
-rwxr-xr-x | .gitlab/ci/python.ps1 | 30 | ||||
-rw-r--r-- | .gitlab/os-windows.yml | 68 |
13 files changed, 62 insertions, 111 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 2c81b37..b26172d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1051,7 +1051,7 @@ t:windows-vs2019-x64: t:windows-vs2022-x64-nmake: extends: - .windows_vs2022_x64_nmake - - .cmake_test_windows_nmake + - .cmake_test_windows_external - .windows_x86_64_tags_concurrent_vs2022 - .cmake_junit_artifacts - .run_dependent @@ -1065,7 +1065,7 @@ t:windows-vs2022-x64-nmake: t:windows-vs2022-x64-jom: extends: - .windows_vs2022_x64_jom - - .cmake_test_windows_jom + - .cmake_test_windows_external - .windows_x86_64_tags_concurrent_vs2022 - .cmake_junit_artifacts - .run_dependent @@ -1079,7 +1079,7 @@ t:windows-vs2022-x64-jom: t:windows-borland5.5: extends: - .windows_borland5.5 - - .cmake_test_windows_borland + - .cmake_test_windows_external - .windows_x86_64_tags_concurrent - .cmake_junit_artifacts - .run_dependent @@ -1093,7 +1093,7 @@ t:windows-borland5.5: t:windows-borland5.8: extends: - .windows_borland5.8 - - .cmake_test_windows_borland + - .cmake_test_windows_external - .windows_x86_64_tags_concurrent - .cmake_junit_artifacts - .run_dependent @@ -1195,7 +1195,7 @@ t:mingw_osdn_io-msys_makefiles: t:windows-msvc-v71-nmake: extends: - .windows_msvc_v71_nmake - - .cmake_test_windows_msvc + - .cmake_test_windows_external - .windows_x86_64_tags_concurrent - .cmake_junit_artifacts - .run_dependent @@ -1209,7 +1209,7 @@ t:windows-msvc-v71-nmake: t:windows-openwatcom1.9: extends: - .windows_openwatcom1.9 - - .cmake_test_windows_openwatcom + - .cmake_test_windows_external - .windows_x86_64_tags_concurrent - .cmake_junit_artifacts - .run_dependent diff --git a/.gitlab/ci/borland-env.ps1 b/.gitlab/ci/borland-env.ps1 new file mode 100755 index 0000000..b3b532e --- /dev/null +++ b/.gitlab/ci/borland-env.ps1 @@ -0,0 +1,3 @@ +Invoke-Expression -Command .gitlab/ci/borland.ps1 +$pwdpath = $pwd.Path +Set-Item -Force -Path "env:PATH" -Value "$pwdpath\.gitlab\bcc\bin;$env:PATH" diff --git a/.gitlab/ci/download_python3.cmake b/.gitlab/ci/download_python3.cmake deleted file mode 100644 index 0f5b18b..0000000 --- a/.gitlab/ci/download_python3.cmake +++ /dev/null @@ -1,41 +0,0 @@ -cmake_minimum_required(VERSION 3.17) - -set(version "3.8.6") -set(sha256sum "376e18eef7e3ea467f0e3af041b01fc7e2f12855506c2ab2653ceb5e0951212e") -set(dirname "python-${version}-embed-win-x86_64") -set(tarball "${dirname}.tar.xz") - -# Download the file. -file(DOWNLOAD - "https://cmake.org/files/dependencies/${tarball}" - ".gitlab/${tarball}" - STATUS download_status - EXPECTED_HASH "SHA256=${sha256sum}") - -# Check the download status. -list(GET download_status 0 res) -if (res) - list(GET download_status 1 err) - message(FATAL_ERROR - "Failed to download ${tarball}: ${err}") -endif () - -# Extract the file. -execute_process( - COMMAND - "${CMAKE_COMMAND}" - -E tar - xzf "${tarball}" - WORKING_DIRECTORY ".gitlab" - RESULT_VARIABLE res - ERROR_VARIABLE err - ERROR_STRIP_TRAILING_WHITESPACE) -if (res) - message(FATAL_ERROR - "Failed to extract ${tarball}: ${err}") -endif () - -# Move to a predictable directory. -file(RENAME - ".gitlab/${dirname}" - ".gitlab/python3") diff --git a/.gitlab/ci/env_windows_borland5.5.ps1 b/.gitlab/ci/env_windows_borland5.5.ps1 new file mode 100755 index 0000000..0d2e46b --- /dev/null +++ b/.gitlab/ci/env_windows_borland5.5.ps1 @@ -0,0 +1 @@ +. .gitlab/ci/borland-env.ps1 diff --git a/.gitlab/ci/env_windows_borland5.8.ps1 b/.gitlab/ci/env_windows_borland5.8.ps1 new file mode 100755 index 0000000..0d2e46b --- /dev/null +++ b/.gitlab/ci/env_windows_borland5.8.ps1 @@ -0,0 +1 @@ +. .gitlab/ci/borland-env.ps1 diff --git a/.gitlab/ci/env_windows_msvc_v71_nmake.ps1 b/.gitlab/ci/env_windows_msvc_v71_nmake.ps1 new file mode 100755 index 0000000..cb3806d --- /dev/null +++ b/.gitlab/ci/env_windows_msvc_v71_nmake.ps1 @@ -0,0 +1,2 @@ +Invoke-Expression -Command .gitlab/ci/msvc.ps1 +Invoke-Expression -Command .gitlab/ci/vcvarsall.ps1 diff --git a/.gitlab/ci/env_windows_openwatcom1.9.ps1 b/.gitlab/ci/env_windows_openwatcom1.9.ps1 new file mode 100755 index 0000000..49c28f7 --- /dev/null +++ b/.gitlab/ci/env_windows_openwatcom1.9.ps1 @@ -0,0 +1 @@ +. .gitlab/ci/openwatcom-env.ps1 diff --git a/.gitlab/ci/env_windows_vs2022_x64_jom.ps1 b/.gitlab/ci/env_windows_vs2022_x64_jom.ps1 new file mode 100755 index 0000000..c933421 --- /dev/null +++ b/.gitlab/ci/env_windows_vs2022_x64_jom.ps1 @@ -0,0 +1,4 @@ +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 diff --git a/.gitlab/ci/env_windows_vs2022_x64_nmake.ps1 b/.gitlab/ci/env_windows_vs2022_x64_nmake.ps1 new file mode 100755 index 0000000..62463cd --- /dev/null +++ b/.gitlab/ci/env_windows_vs2022_x64_nmake.ps1 @@ -0,0 +1 @@ +Invoke-Expression -Command .gitlab/ci/vcvarsall.ps1 diff --git a/.gitlab/ci/openwatcom-env.ps1 b/.gitlab/ci/openwatcom-env.ps1 new file mode 100755 index 0000000..14ea523 --- /dev/null +++ b/.gitlab/ci/openwatcom-env.ps1 @@ -0,0 +1,7 @@ +Invoke-Expression -Command .gitlab/ci/openwatcom.ps1 +$pwdpath = $pwd.Path +Set-Item -Force -Path "env:PATH" -Value "$pwdpath\.gitlab\watcom\binnt;$pwdpath\.gitlab\watcom\binw;$env:PATH" +Set-Item -Force -Path "env:INCLUDE" -Value "$pwdpath\.gitlab\watcom\h;$pwdpath\.gitlab\watcom\h\nt" +Set-Item -Force -Path "env:EDPATH" -Value "$pwdpath\.gitlab\watcom\eddat" +Set-Item -Force -Path "env:WATCOM" -Value "$pwdpath\.gitlab\watcom" +Set-Item -Force -Path "env:WLINKTMP" -Value "." diff --git a/.gitlab/ci/python-env.ps1 b/.gitlab/ci/python-env.ps1 index 4e897d8..ce16493 100755 --- a/.gitlab/ci/python-env.ps1 +++ b/.gitlab/ci/python-env.ps1 @@ -1,4 +1,4 @@ $pwdpath = $pwd.Path -cmake -P .gitlab/ci/download_python3.cmake +& "$pwsh" -File ".gitlab/ci/python.ps1" Set-Item -Force -Path "env:PATH" -Value "$pwdpath\.gitlab\python3;$env:PATH" python --version diff --git a/.gitlab/ci/python.ps1 b/.gitlab/ci/python.ps1 new file mode 100755 index 0000000..27f1807 --- /dev/null +++ b/.gitlab/ci/python.ps1 @@ -0,0 +1,30 @@ +$erroractionpreference = "stop" + +$version = "3.11.3" + +if ("$env:PROCESSOR_ARCHITECTURE" -eq "AMD64") { + $sha256sum = "7419B2E98516FBD0B66A1237B80187FFB21D32E47B4A4235C2D9D6379597070F" + $arch = "amd64" +} elseif ("$env:PROCESSOR_ARCHITECTURE" -eq "ARM64") { + $sha256sum = "03BAD6A7C898FC8F693982437AAB6DB698107B82EA93F76424195AE2C161246C" + $arch = "arm64" +} else { + throw ('unknown PROCESSOR_ARCHITECTURE: ' + "$env:PROCESSOR_ARCHITECTURE") +} + +$filename = "python-$version-embed-$arch" +$tarball = "$filename.zip" + +$outdir = $pwd.Path +$outdir = "$outdir\.gitlab" +$ProgressPreference = 'SilentlyContinue' +Invoke-WebRequest -Uri "https://cmake.org/files/dependencies/internal/$tarball" -OutFile "$outdir\$tarball" +$hash = Get-FileHash "$outdir\$tarball" -Algorithm SHA256 +if ($hash.Hash -ne $sha256sum) { + exit 1 +} + +Add-Type -AssemblyName System.IO.Compression.FileSystem +[System.IO.Compression.ZipFile]::ExtractToDirectory("$outdir\$tarball", "$outdir\python3") +Remove-Item "$outdir\python3\*._pth" # Avoid sys.path specific to embedded python. +Remove-Item "$outdir\$tarball" diff --git a/.gitlab/os-windows.yml b/.gitlab/os-windows.yml index ded3e65..f1e86ad 100644 --- a/.gitlab/os-windows.yml +++ b/.gitlab/os-windows.yml @@ -349,6 +349,10 @@ - . .gitlab/ci/qt-env.ps1 - . .gitlab/ci/python-env.ps1 +.before_script_windows_external: &before_script_windows_external + - . .gitlab/ci/env.ps1 + - . .gitlab/ci/python-env.ps1 + .cmake_build_windows: stage: build @@ -381,69 +385,7 @@ stage: test-ext script: - - . .gitlab/ci/env.ps1 - - build/install/bin/ctest --output-on-failure -V -S .gitlab/ci/ctest_standalone.cmake - - interruptible: true - -.cmake_test_windows_nmake: - stage: test-ext - - script: - - . .gitlab/ci/env.ps1 - - Invoke-Expression -Command .gitlab/ci/vcvarsall.ps1 - - build/install/bin/ctest --output-on-failure -V -S .gitlab/ci/ctest_standalone.cmake - - interruptible: true - -.cmake_test_windows_jom: - stage: test-ext - - script: - - . .gitlab/ci/env.ps1 - - 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_standalone.cmake - - interruptible: true - -.cmake_test_windows_borland: - stage: test-ext - - script: - - . .gitlab/ci/env.ps1 - - Invoke-Expression -Command .gitlab/ci/borland.ps1 - - $pwdpath = $pwd.Path - - Set-Item -Force -Path "env:PATH" -Value "$pwdpath\.gitlab\bcc\bin;$env:PATH" - - build/install/bin/ctest --output-on-failure -V -S .gitlab/ci/ctest_standalone.cmake - - interruptible: true - -.cmake_test_windows_msvc: - stage: test-ext - - script: - - . .gitlab/ci/env.ps1 - - Invoke-Expression -Command .gitlab/ci/msvc.ps1 - - Invoke-Expression -Command .gitlab/ci/vcvarsall.ps1 - - build/install/bin/ctest --output-on-failure -V -S .gitlab/ci/ctest_standalone.cmake - - interruptible: true - -.cmake_test_windows_openwatcom: - stage: test-ext - - script: - - . .gitlab/ci/env.ps1 - - Invoke-Expression -Command .gitlab/ci/openwatcom.ps1 - - $pwdpath = $pwd.Path - - Set-Item -Force -Path "env:PATH" -Value "$pwdpath\.gitlab\watcom\binnt;$pwdpath\.gitlab\watcom\binw;$env:PATH" - - Set-Item -Force -Path "env:INCLUDE" -Value "$pwdpath\.gitlab\watcom\h;$pwdpath\.gitlab\watcom\h\nt" - - Set-Item -Force -Path "env:EDPATH" -Value "$pwdpath\.gitlab\watcom\eddat" - - Set-Item -Force -Path "env:WATCOM" -Value "$pwdpath\.gitlab\watcom" - - Set-Item -Force -Path "env:WLINKTMP" -Value "." + - *before_script_windows_external - build/install/bin/ctest --output-on-failure -V -S .gitlab/ci/ctest_standalone.cmake interruptible: true |