Cleanup custom mingw in CI

This commit is contained in:
Chris Denton 2024-05-26 22:00:43 +00:00
parent bdbbb6c6a7
commit f63931bc1a
No known key found for this signature in database
GPG Key ID: 713472F2F45627DE
4 changed files with 4 additions and 47 deletions

View File

@ -155,9 +155,6 @@ jobs:
- name: checkout submodules - name: checkout submodules
run: src/ci/scripts/checkout-submodules.sh run: src/ci/scripts/checkout-submodules.sh
- name: install MSYS2
run: src/ci/scripts/install-msys2.sh
- name: install MinGW - name: install MinGW
run: src/ci/scripts/install-mingw.sh run: src/ci/scripts/install-mingw.sh

View File

@ -378,7 +378,6 @@ auto:
# We are intentionally allowing an old toolchain on this builder (and that's # We are intentionally allowing an old toolchain on this builder (and that's
# incompatible with LLVM downloads today). # incompatible with LLVM downloads today).
NO_DOWNLOAD_CI_LLVM: 1 NO_DOWNLOAD_CI_LLVM: 1
CUSTOM_MINGW: 1
<<: *job-windows-8c <<: *job-windows-8c
- image: x86_64-mingw - image: x86_64-mingw
@ -390,7 +389,6 @@ auto:
# We are intentionally allowing an old toolchain on this builder (and that's # We are intentionally allowing an old toolchain on this builder (and that's
# incompatible with LLVM downloads today). # incompatible with LLVM downloads today).
NO_DOWNLOAD_CI_LLVM: 1 NO_DOWNLOAD_CI_LLVM: 1
CUSTOM_MINGW: 1
<<: *job-windows-8c <<: *job-windows-8c
- image: dist-x86_64-msvc - image: dist-x86_64-msvc
@ -439,7 +437,6 @@ auto:
# incompatible with LLVM downloads today). # incompatible with LLVM downloads today).
NO_DOWNLOAD_CI_LLVM: 1 NO_DOWNLOAD_CI_LLVM: 1
SCRIPT: python x.py dist bootstrap --include-default-paths SCRIPT: python x.py dist bootstrap --include-default-paths
CUSTOM_MINGW: 1
DIST_REQUIRE_ALL_TOOLS: 1 DIST_REQUIRE_ALL_TOOLS: 1
<<: *job-windows-8c <<: *job-windows-8c
@ -453,7 +450,6 @@ auto:
# We are intentionally allowing an old toolchain on this builder (and that's # We are intentionally allowing an old toolchain on this builder (and that's
# incompatible with LLVM downloads today). # incompatible with LLVM downloads today).
NO_DOWNLOAD_CI_LLVM: 1 NO_DOWNLOAD_CI_LLVM: 1
CUSTOM_MINGW: 1
DIST_REQUIRE_ALL_TOOLS: 1 DIST_REQUIRE_ALL_TOOLS: 1
<<: *job-windows-8c <<: *job-windows-8c

View File

@ -1,8 +1,6 @@
#!/bin/bash #!/bin/bash
# If we need to download a custom MinGW, do so here and set the path # If we need to download a custom MinGW, do so here and set the path
# appropriately. # appropriately.
#
# Otherwise install MinGW through `pacman`
set -euo pipefail set -euo pipefail
IFS=$'\n\t' IFS=$'\n\t'
@ -16,19 +14,16 @@ if isWindows && isKnownToBeMingwBuild; then
case "${CI_JOB_NAME}" in case "${CI_JOB_NAME}" in
*i686*) *i686*)
bits=32 bits=32
arch=i686
mingw_archive="${MINGW_ARCHIVE_32}" mingw_archive="${MINGW_ARCHIVE_32}"
;; ;;
*x86_64*) *x86_64*)
bits=64 bits=64
arch=x86_64
mingw_archive="${MINGW_ARCHIVE_64}" mingw_archive="${MINGW_ARCHIVE_64}"
;; ;;
*aarch64*) *aarch64*)
# aarch64 is a cross-compiled target. Use the x86_64 # aarch64 is a cross-compiled target. Use the x86_64
# mingw, since that's the host architecture. # mingw, since that's the host architecture.
bits=64 bits=64
arch=x86_64
mingw_archive="${MINGW_ARCHIVE_64}" mingw_archive="${MINGW_ARCHIVE_64}"
;; ;;
*) *)
@ -38,13 +33,9 @@ if isWindows && isKnownToBeMingwBuild; then
;; ;;
esac esac
if [[ "${CUSTOM_MINGW:-0}" == 0 ]]; then
pacman -S --noconfirm --needed mingw-w64-$arch-toolchain
else
mingw_dir="mingw${bits}" mingw_dir="mingw${bits}"
curl -o mingw.7z "${MIRRORS_BASE}/${mingw_archive}" curl -o mingw.7z "${MIRRORS_BASE}/${mingw_archive}"
7z x -y mingw.7z > /dev/null 7z x -y mingw.7z > /dev/null
ciCommandAddPath "$(pwd)/${mingw_dir}/bin" ciCommandAddPath "$(pwd)/${mingw_dir}/bin"
fi fi
fi

View File

@ -1,27 +0,0 @@
#!/bin/bash
# Clean up and prepare the MSYS2 installation.
# MSYS2 is used by the MinGW toolchain for assembling things.
set -euo pipefail
IFS=$'\n\t'
source "$(cd "$(dirname "$0")" && pwd)/../shared.sh"
if isWindows; then
# 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"
if ! [[ -f "${python_home}/python3.exe" ]]; then
cp "${python_home}/python.exe" "${python_home}/python3.exe"
fi
ciCommandAddPath "C:\\hostedtoolcache\\windows\\Python\\${native_python_version}\\x64"
ciCommandAddPath "C:\\hostedtoolcache\\windows\\Python\\${native_python_version}\\x64\\Scripts"
fi