From 8f7fef629b37e38341bfb8b99a276df9355551ec Mon Sep 17 00:00:00 2001 From: Brad King Date: Tue, 20 Oct 2020 13:13:03 -0400 Subject: ci: add Python to PATH on Windows Our test suite searches for a Python interpreter to perform some extra checks. Our CI base images for Linux have Python available. Update our Windows jobs to provide a Python interpreter for our test suite to find consistently between the build and test steps. --- .gitlab/ci/download_python3.cmake | 41 +++++++++++++++++++++++++++++++++++++++ .gitlab/os-windows.yml | 3 +++ 2 files changed, 44 insertions(+) create mode 100644 .gitlab/ci/download_python3.cmake diff --git a/.gitlab/ci/download_python3.cmake b/.gitlab/ci/download_python3.cmake new file mode 100644 index 0000000..0f5b18b --- /dev/null +++ b/.gitlab/ci/download_python3.cmake @@ -0,0 +1,41 @@ +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/os-windows.yml b/.gitlab/os-windows.yml index 61a2018..6830b8a 100644 --- a/.gitlab/os-windows.yml +++ b/.gitlab/os-windows.yml @@ -82,6 +82,9 @@ - ninja --version - cmake -P .gitlab/ci/download_qt.cmake - Set-Item -Force -Path "env:PATH" -Value "$pwdpath\.gitlab\qt\bin;$env:PATH" + - cmake -P .gitlab/ci/download_python3.cmake + - Set-Item -Force -Path "env:PATH" -Value "$pwdpath\.gitlab\python3;$env:PATH" + - python --version .cmake_build_windows: stage: build -- cgit v0.12