about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2020-05-07 21:52:39 +0000
committerbors <bors@rust-lang.org>2020-05-07 21:52:39 +0000
commit1eefa6783c0c5160ca20becf0c9bd2e73048a7db (patch)
treee2a89c60b5ba993b6373dc9435c0288bfcc5d3bf /src
parenta08c47310c7d49cbdc5d7afb38408ba519967ecd (diff)
parentde2d9877dcc6b3a352165b220e4e9fb67f771bab (diff)
downloadrust-1eefa6783c0c5160ca20becf0c9bd2e73048a7db.tar.gz
rust-1eefa6783c0c5160ca20becf0c9bd2e73048a7db.zip
Auto merge of #71995 - pietroalbini:ci-windows-detect-latest-python, r=Mark-Simulacrum
[CI] Use the latest Python available on Windows

This PR changes our Windows CI to always use the latest Python interpreter available in the GHA tool cache instead of hardcoding Python 3.7.6. This is needed because occasionally GitHub bumps the installed version, deleting the previous one.

This fixes the current GHA outage we're having. I fully expect the outage to propagate to Azure Pipelines in the coming days if we don't merge this, as both GHA and Azure use the same underlying image. Once the PR is merged we can re-enabled the double-gating.

r? @Mark-Simulacrum
Diffstat (limited to 'src')
-rwxr-xr-xsrc/ci/scripts/install-msys2-packages.sh12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/ci/scripts/install-msys2-packages.sh b/src/ci/scripts/install-msys2-packages.sh
index 3874a86e120..ff7479c05d0 100755
--- a/src/ci/scripts/install-msys2-packages.sh
+++ b/src/ci/scripts/install-msys2-packages.sh
@@ -9,11 +9,19 @@ if isWindows; then
     pacman -S --noconfirm --needed base-devel ca-certificates make diffutils tar \
         binutils
 
+    # Detect the native Python version installed on the agent. On GitHub
+    # Actions, the C:\hostedtoolcache\windows\Python directory contains a
+    # subdirectory for each installed Python version.
+    #
+    # The -V flag of the sort command sorts the input by version number.
+    native_python_version="$(ls /c/hostedtoolcache/windows/Python | sort -Vr | head -n 1)"
+
     # Make sure we use the native python interpreter instead of some msys equivalent
     # one way or another. The msys interpreters seem to have weird path conversions
     # baked in which break LLVM's build system one way or another, so let's use the
     # native version which keeps everything as native as possible.
-    python_home="C:/hostedtoolcache/windows/Python/3.7.6/x64"
+    python_home="/c/hostedtoolcache/windows/Python/${native_python_version}/x64"
     cp "${python_home}/python.exe" "${python_home}/python3.exe"
-    ciCommandAddPath "C:\\hostedtoolcache\\windows\\Python\\3.7.6\\x64"
+    ciCommandAddPath "C:\\hostedtoolcache\\windows\\Python\\${native_python_version}\\x64"
+    ciCommandAddPath "C:\\hostedtoolcache\\windows\\Python\\${native_python_version}\\x64\\Scripts"
 fi