diff options
| author | bors <bors@rust-lang.org> | 2023-05-03 14:39:06 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2023-05-03 14:39:06 +0000 |
| commit | 9b99ff76b28605ad2e2c49e369721ae400e6a665 (patch) | |
| tree | c06b7ab25c08db214bb9d0300bffb7f498d4cf27 /src/ci/docker/scripts | |
| parent | 82cd953c7c43e64dae6f705ce2f07b291f0e22e3 (diff) | |
| parent | 16dfd8986268ea476e0701a825a587e0078268a9 (diff) | |
| download | rust-9b99ff76b28605ad2e2c49e369721ae400e6a665.tar.gz rust-9b99ff76b28605ad2e2c49e369721ae400e6a665.zip | |
Auto merge of #110865 - cuviper:ct-ng-1.25, r=pietroalbini
ci: upgrade and refactor crosstool-ng builders The first commit upgrades our builders from crosstool-ng 1.24.0 to 1.25.0. There are otherwise no changes intended to the toolchains we're using, but there are some minor version upgrades as a result, especially GCC 8.3.0 to 8.5.0. The newer crosstool-ng will position us well to make toolchain upgrades in the future though, as we were maxed out before and it now goes up to GCC 11. The second commit refactors our config management to only commit a "mini-defconfig" for each target, produced by `ct-ng savedefconfig`. This makes it much clearer which settings we're actually changing, and also makes it easier to ensure consistency for things like mirror management.
Diffstat (limited to 'src/ci/docker/scripts')
| -rw-r--r-- | src/ci/docker/scripts/crosstool-ng-1.24.sh | 13 | ||||
| -rwxr-xr-x | src/ci/docker/scripts/crosstool-ng-build.sh | 32 | ||||
| -rw-r--r-- | src/ci/docker/scripts/crosstool-ng.sh | 13 |
3 files changed, 42 insertions, 16 deletions
diff --git a/src/ci/docker/scripts/crosstool-ng-1.24.sh b/src/ci/docker/scripts/crosstool-ng-1.24.sh deleted file mode 100644 index 3a40f6cddb3..00000000000 --- a/src/ci/docker/scripts/crosstool-ng-1.24.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh -set -ex - -# Mirrored from https://github.com/crosstool-ng/crosstool-ng/archive/crosstool-ng-1.24.0.tar.gz -url="https://ci-mirrors.rust-lang.org/rustc/crosstool-ng-1.24.0.tar.gz" -curl -Lf $url | tar xzf - -cd crosstool-ng-crosstool-ng-1.24.0 -./bootstrap -./configure --prefix=/usr/local -make -j$(nproc) -make install -cd .. -rm -rf crosstool-ng-crosstool-ng-1.24.0 diff --git a/src/ci/docker/scripts/crosstool-ng-build.sh b/src/ci/docker/scripts/crosstool-ng-build.sh new file mode 100755 index 00000000000..c813d10eb9d --- /dev/null +++ b/src/ci/docker/scripts/crosstool-ng-build.sh @@ -0,0 +1,32 @@ +#!/usr/bin/env bash + +set -ex + +if [ $UID -eq 0 ]; then + exec su rustbuild -c "$0" +fi + +hide_output() { + set +x + on_err=" +echo ERROR: An error was encountered with the build. +cat /tmp/build.log +exit 1 +" + trap "$on_err" ERR + bash -c "while true; do sleep 30; echo \$(date) - building ...; done" & + PING_LOOP_PID=$! + "$@" &> /tmp/build.log + rm /tmp/build.log + trap - ERR + kill $PING_LOOP_PID + set -x +} + +mkdir build +cd build +cp ../crosstool.defconfig .config +ct-ng olddefconfig +hide_output ct-ng build +cd .. +rm -rf build diff --git a/src/ci/docker/scripts/crosstool-ng.sh b/src/ci/docker/scripts/crosstool-ng.sh index 1d0c28c8e58..a28d7bde2ac 100644 --- a/src/ci/docker/scripts/crosstool-ng.sh +++ b/src/ci/docker/scripts/crosstool-ng.sh @@ -1,12 +1,19 @@ #!/bin/sh set -ex -url="https://github.com/crosstool-ng/crosstool-ng/archive/crosstool-ng-1.22.0.tar.gz" +CT_NG=1.25.0 + +url="https://github.com/crosstool-ng/crosstool-ng/archive/crosstool-ng-$CT_NG.tar.gz" curl -Lf $url | tar xzf - -cd crosstool-ng-crosstool-ng-1.22.0 +cd crosstool-ng-crosstool-ng-$CT_NG + +# https://github.com/crosstool-ng/crosstool-ng/issues/1832 +# "download source of zlib is invalid now" +sed -e "s|zlib.net/'|zlib.net/fossils'|" -i packages/zlib/package.desc + ./bootstrap ./configure --prefix=/usr/local make -j$(nproc) make install cd .. -rm -rf crosstool-ng-crosstool-ng-1.22.0 +rm -rf crosstool-ng-crosstool-ng-$CT_NG |
