diff options
author | Brad King <brad.king@kitware.com> | 2023-04-05 13:12:36 -0400 |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2023-04-05 15:03:14 -0400 |
commit | 99bf8418ee076e81c3ea7b1df333afdf3227967d (patch) | |
tree | b2c45484d86e7d55291c607d2a2ff94928a5ab19 /.gitlab/ci/python.ps1 | |
parent | 967456423b8bcc4f833c897140339e62ceb7bcb5 (diff) | |
download | cmake-99bf8418ee076e81c3ea7b1df333afdf3227967d.tar.gz |
ci: Update to Python 3.11.3 in Windows jobs
Use the official embedded distribution `.zip` files,
but put copies at URLs we control.
Diffstat (limited to '.gitlab/ci/python.ps1')
-rwxr-xr-x | .gitlab/ci/python.ps1 | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/.gitlab/ci/python.ps1 b/.gitlab/ci/python.ps1 new file mode 100755 index 0000000000..27f18071a6 --- /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" |