Use preinstalled MSYS2

This commit is contained in:
Mateusz Mikuła 2020-06-10 00:48:43 +02:00
parent feb3536eba
commit 91b6f1585d
5 changed files with 20 additions and 59 deletions

View file

@ -102,9 +102,6 @@ jobs:
- name: install MSYS2 - name: install MSYS2
run: src/ci/scripts/install-msys2.sh run: src/ci/scripts/install-msys2.sh
if: success() && !env.SKIP_JOB if: success() && !env.SKIP_JOB
- name: install MSYS2 packages
run: src/ci/scripts/install-msys2-packages.sh
if: success() && !env.SKIP_JOB
- name: install MinGW - name: install MinGW
run: src/ci/scripts/install-mingw.sh run: src/ci/scripts/install-mingw.sh
if: success() && !env.SKIP_JOB if: success() && !env.SKIP_JOB
@ -212,9 +209,6 @@ jobs:
- name: install MSYS2 - name: install MSYS2
run: src/ci/scripts/install-msys2.sh run: src/ci/scripts/install-msys2.sh
if: success() && !env.SKIP_JOB if: success() && !env.SKIP_JOB
- name: install MSYS2 packages
run: src/ci/scripts/install-msys2-packages.sh
if: success() && !env.SKIP_JOB
- name: install MinGW - name: install MinGW
run: src/ci/scripts/install-mingw.sh run: src/ci/scripts/install-mingw.sh
if: success() && !env.SKIP_JOB if: success() && !env.SKIP_JOB
@ -564,9 +558,6 @@ jobs:
- name: install MSYS2 - name: install MSYS2
run: src/ci/scripts/install-msys2.sh run: src/ci/scripts/install-msys2.sh
if: success() && !env.SKIP_JOB if: success() && !env.SKIP_JOB
- name: install MSYS2 packages
run: src/ci/scripts/install-msys2-packages.sh
if: success() && !env.SKIP_JOB
- name: install MinGW - name: install MinGW
run: src/ci/scripts/install-mingw.sh run: src/ci/scripts/install-mingw.sh
if: success() && !env.SKIP_JOB if: success() && !env.SKIP_JOB

View file

@ -82,10 +82,6 @@ steps:
displayName: Install msys2 displayName: Install msys2
condition: and(succeeded(), not(variables.SKIP_JOB)) condition: and(succeeded(), not(variables.SKIP_JOB))
- bash: src/ci/scripts/install-msys2-packages.sh
displayName: Install msys2 packages
condition: and(succeeded(), not(variables.SKIP_JOB))
- bash: src/ci/scripts/install-mingw.sh - bash: src/ci/scripts/install-mingw.sh
displayName: Install MinGW displayName: Install MinGW
condition: and(succeeded(), not(variables.SKIP_JOB)) condition: and(succeeded(), not(variables.SKIP_JOB))

View file

@ -147,10 +147,6 @@ x--expand-yaml-anchors--remove:
run: src/ci/scripts/install-msys2.sh run: src/ci/scripts/install-msys2.sh
<<: *step <<: *step
- name: install MSYS2 packages
run: src/ci/scripts/install-msys2-packages.sh
<<: *step
- name: install MinGW - name: install MinGW
run: src/ci/scripts/install-mingw.sh run: src/ci/scripts/install-mingw.sh
<<: *step <<: *step

View file

@ -1,27 +0,0 @@
#!/bin/bash
set -euo pipefail
IFS=$'\n\t'
source "$(cd "$(dirname "$0")" && pwd)/../shared.sh"
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/${native_python_version}/x64"
cp "${python_home}/python.exe" "${python_home}/python3.exe"
ciCommandAddPath "C:\\hostedtoolcache\\windows\\Python\\${native_python_version}\\x64"
ciCommandAddPath "C:\\hostedtoolcache\\windows\\Python\\${native_python_version}\\x64\\Scripts"
fi

View file

@ -1,10 +1,6 @@
#!/bin/bash #!/bin/bash
# Download and install MSYS2, needed primarily for the test suite (run-make) but # Download and install MSYS2, needed primarily for the test suite (run-make) but
# also used by the MinGW toolchain for assembling things. # also used by the MinGW toolchain for assembling things.
#
# FIXME: we should probe the default azure image and see if we can use the MSYS2
# toolchain there. (if there's even one there). For now though this gets the job
# done.
set -euo pipefail set -euo pipefail
IFS=$'\n\t' IFS=$'\n\t'
@ -12,17 +8,26 @@ IFS=$'\n\t'
source "$(cd "$(dirname "$0")" && pwd)/../shared.sh" source "$(cd "$(dirname "$0")" && pwd)/../shared.sh"
if isWindows; then if isWindows; then
# Pre-followed the api/v2 URL to the CDN since the API can be a bit flakey msys2Path="c:/msys64"
curl -sSL https://packages.chocolatey.org/msys2.20190524.0.0.20191030.nupkg > \ mkdir -p "${msys2Path}/home/${USERNAME}"
msys2.nupkg ciCommandAddPath "${msys2Path}/usr/bin"
curl -sSL https://packages.chocolatey.org/chocolatey-core.extension.1.3.5.1.nupkg > \
chocolatey-core.extension.nupkg
choco install -s . msys2 \
--params="/InstallDir:$(ciCheckoutPath)/msys2 /NoPath" -y --no-progress
rm msys2.nupkg chocolatey-core.extension.nupkg
mkdir -p "$(ciCheckoutPath)/msys2/home/${USERNAME}"
ciCommandAddPath "$(ciCheckoutPath)/msys2/usr/bin"
echo "switching shell to use our own bash" echo "switching shell to use our own bash"
ciCommandSetEnv CI_OVERRIDE_SHELL "$(ciCheckoutPath)/msys2/usr/bin/bash.exe" ciCommandSetEnv CI_OVERRIDE_SHELL "${msys2Path}/usr/bin/bash.exe"
# 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/${native_python_version}/x64"
cp "${python_home}/python.exe" "${python_home}/python3.exe"
ciCommandAddPath "C:\\hostedtoolcache\\windows\\Python\\${native_python_version}\\x64"
ciCommandAddPath "C:\\hostedtoolcache\\windows\\Python\\${native_python_version}\\x64\\Scripts"
fi fi