From aafe14811eb48f215eeb52a4e7c73a721652f23d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Ber=C3=A1nek?= Date: Mon, 31 Aug 2026 22:31:38 +0200 Subject: [PATCH 1/8] Remove disabled CI job configs They were just rotting away anyway. --- .../disabled/dist-aarch64-android/Dockerfile | 24 ---- .../disabled/dist-armv7-android/Dockerfile | 41 ------- .../disabled/dist-i686-android/Dockerfile | 41 ------- .../disabled/dist-m68k-linux/Dockerfile | 28 ----- .../disabled/dist-powerpcspe-linux/Dockerfile | 27 ----- .../disabled/dist-sparc64-linux/Dockerfile | 27 ----- .../disabled/dist-x86_64-android/Dockerfile | 24 ---- .../disabled/dist-x86_64-dragonfly/Dockerfile | 37 ------ .../dist-x86_64-dragonfly/build-toolchain.sh | 111 ------------------ .../dist-x86_64-dragonfly/patch-toolchain | 23 ---- .../disabled/dist-x86_64-haiku/Dockerfile | 52 -------- .../dist-x86_64-haiku/build-toolchain.sh | 65 ---------- .../dist-x86_64-haiku/fetch-packages.sh | 9 -- .../disabled/dist-x86_64-haiku/llvm-config.sh | 58 --------- .../disabled/dist-x86_64-redox/Dockerfile | 23 ---- .../disabled/riscv64gc-gnu/Dockerfile | 98 ---------------- .../disabled/riscv64gc-gnu/linux.config | 51 -------- 17 files changed, 739 deletions(-) delete mode 100644 src/ci/docker/host-x86_64/disabled/dist-aarch64-android/Dockerfile delete mode 100644 src/ci/docker/host-x86_64/disabled/dist-armv7-android/Dockerfile delete mode 100644 src/ci/docker/host-x86_64/disabled/dist-i686-android/Dockerfile delete mode 100644 src/ci/docker/host-x86_64/disabled/dist-m68k-linux/Dockerfile delete mode 100644 src/ci/docker/host-x86_64/disabled/dist-powerpcspe-linux/Dockerfile delete mode 100644 src/ci/docker/host-x86_64/disabled/dist-sparc64-linux/Dockerfile delete mode 100644 src/ci/docker/host-x86_64/disabled/dist-x86_64-android/Dockerfile delete mode 100644 src/ci/docker/host-x86_64/disabled/dist-x86_64-dragonfly/Dockerfile delete mode 100755 src/ci/docker/host-x86_64/disabled/dist-x86_64-dragonfly/build-toolchain.sh delete mode 100644 src/ci/docker/host-x86_64/disabled/dist-x86_64-dragonfly/patch-toolchain delete mode 100644 src/ci/docker/host-x86_64/disabled/dist-x86_64-haiku/Dockerfile delete mode 100755 src/ci/docker/host-x86_64/disabled/dist-x86_64-haiku/build-toolchain.sh delete mode 100755 src/ci/docker/host-x86_64/disabled/dist-x86_64-haiku/fetch-packages.sh delete mode 100755 src/ci/docker/host-x86_64/disabled/dist-x86_64-haiku/llvm-config.sh delete mode 100644 src/ci/docker/host-x86_64/disabled/dist-x86_64-redox/Dockerfile delete mode 100644 src/ci/docker/host-x86_64/disabled/riscv64gc-gnu/Dockerfile delete mode 100644 src/ci/docker/host-x86_64/disabled/riscv64gc-gnu/linux.config diff --git a/src/ci/docker/host-x86_64/disabled/dist-aarch64-android/Dockerfile b/src/ci/docker/host-x86_64/disabled/dist-aarch64-android/Dockerfile deleted file mode 100644 index b3c46d5590f09..0000000000000 --- a/src/ci/docker/host-x86_64/disabled/dist-aarch64-android/Dockerfile +++ /dev/null @@ -1,24 +0,0 @@ -FROM ubuntu:16.04 - -COPY scripts/android-base-apt-get.sh /scripts/ -RUN sh /scripts/android-base-apt-get.sh - -COPY scripts/android-ndk.sh /scripts/ -RUN . /scripts/android-ndk.sh && \ - download_and_make_toolchain android-ndk-r15c-linux-x86_64.zip arm64 21 - -ENV PATH=$PATH:/android/ndk/arm64-21/bin - -ENV DEP_Z_ROOT=/android/ndk/arm64-21/sysroot/usr/ - -ENV HOSTS=aarch64-linux-android - -ENV RUST_CONFIGURE_ARGS="--aarch64-linux-android-ndk=/android/ndk/arm64-21 \ - --disable-rpath \ - --enable-extended \ - --enable-cargo-openssl-static" - -ENV SCRIPT="python3 ../x.py dist --target $HOSTS --host $HOSTS" - -COPY scripts/sccache.sh /scripts/ -RUN sh /scripts/sccache.sh diff --git a/src/ci/docker/host-x86_64/disabled/dist-armv7-android/Dockerfile b/src/ci/docker/host-x86_64/disabled/dist-armv7-android/Dockerfile deleted file mode 100644 index 4403611f2f047..0000000000000 --- a/src/ci/docker/host-x86_64/disabled/dist-armv7-android/Dockerfile +++ /dev/null @@ -1,41 +0,0 @@ -FROM ubuntu:16.04 - -COPY scripts/android-base-apt-get.sh /scripts/ -RUN sh /scripts/android-base-apt-get.sh - -COPY scripts/android-ndk.sh /scripts/ -RUN . /scripts/android-ndk.sh && \ - download_ndk android-ndk-r15c-linux-x86_64.zip && \ - make_standalone_toolchain arm 14 && \ - make_standalone_toolchain arm 21 && \ - remove_ndk - -RUN chmod 777 /android/ndk && \ - ln -s /android/ndk/arm-21 /android/ndk/arm - -ENV PATH=$PATH:/android/ndk/arm-14/bin - -ENV DEP_Z_ROOT=/android/ndk/arm-14/sysroot/usr/ - -ENV HOSTS=armv7-linux-androideabi - -ENV RUST_CONFIGURE_ARGS="--armv7-linux-androideabi-ndk=/android/ndk/arm \ - --disable-rpath \ - --enable-extended \ - --enable-cargo-openssl-static" - -# We support api level 14, but api level 21 is required to build llvm. To -# overcome this problem we use a ndk with api level 21 to build llvm and then -# switch to a ndk with api level 14 to complete the build. When the linker is -# invoked there are missing symbols (like sigsetempty, not available with api -# level 14), the default linker behavior is to generate an error, to allow the -# build to finish we use --warn-unresolved-symbols. Note that the missing -# symbols does not affect std, only the compiler (llvm) and cargo (openssl). -ENV SCRIPT="python3 ../x.py --stage 2 build src/llvm --host $HOSTS --target $HOSTS && \ - (export RUSTFLAGS=\"-C link-arg=-Wl,--warn-unresolved-symbols\"; \ - rm /android/ndk/arm && \ - ln -s /android/ndk/arm-14 /android/ndk/arm && \ - python3 ../x.py dist --host $HOSTS --target $HOSTS)" - -COPY scripts/sccache.sh /scripts/ -RUN sh /scripts/sccache.sh diff --git a/src/ci/docker/host-x86_64/disabled/dist-i686-android/Dockerfile b/src/ci/docker/host-x86_64/disabled/dist-i686-android/Dockerfile deleted file mode 100644 index f36901794b9cd..0000000000000 --- a/src/ci/docker/host-x86_64/disabled/dist-i686-android/Dockerfile +++ /dev/null @@ -1,41 +0,0 @@ -FROM ubuntu:16.04 - -COPY scripts/android-base-apt-get.sh /scripts/ -RUN sh /scripts/android-base-apt-get.sh - -COPY scripts/android-ndk.sh /scripts/ -RUN . /scripts/android-ndk.sh && \ - download_ndk android-ndk-r15c-linux-x86_64.zip && \ - make_standalone_toolchain x86 14 && \ - make_standalone_toolchain x86 21 && \ - remove_ndk - -RUN chmod 777 /android/ndk && \ - ln -s /android/ndk/x86-21 /android/ndk/x86 - -ENV PATH=$PATH:/android/ndk/x86-14/bin - -ENV DEP_Z_ROOT=/android/ndk/x86-14/sysroot/usr/ - -ENV HOSTS=i686-linux-android - -ENV RUST_CONFIGURE_ARGS="--i686-linux-android-ndk=/android/ndk/x86 \ - --disable-rpath \ - --enable-extended \ - --enable-cargo-openssl-static" - -# We support api level 14, but api level 21 is required to build llvm. To -# overcome this problem we use a ndk with api level 21 to build llvm and then -# switch to a ndk with api level 14 to complete the build. When the linker is -# invoked there are missing symbols (like sigsetempty, not available with api -# level 14), the default linker behavior is to generate an error, to allow the -# build to finish we use --warn-unresolved-symbols. Note that the missing -# symbols does not affect std, only the compiler (llvm) and cargo (openssl). -ENV SCRIPT="python3 ../x.py --stage 2 build src/llvm --host $HOSTS --target $HOSTS && \ - (export RUSTFLAGS=\"-C link-arg=-Wl,--warn-unresolved-symbols\"; \ - rm /android/ndk/x86 && \ - ln -s /android/ndk/x86-14 /android/ndk/x86 && \ - python3 ../x.py dist --host $HOSTS --target $HOSTS)" - -COPY scripts/sccache.sh /scripts/ -RUN sh /scripts/sccache.sh diff --git a/src/ci/docker/host-x86_64/disabled/dist-m68k-linux/Dockerfile b/src/ci/docker/host-x86_64/disabled/dist-m68k-linux/Dockerfile deleted file mode 100644 index 8444e94b2a286..0000000000000 --- a/src/ci/docker/host-x86_64/disabled/dist-m68k-linux/Dockerfile +++ /dev/null @@ -1,28 +0,0 @@ -FROM ubuntu:20.04 - -RUN apt-get update && apt-get install -y --no-install-recommends \ - g++ \ - make \ - file \ - curl \ - ca-certificates \ - python2.7 \ - git \ - cmake \ - sudo \ - gdb \ - xz-utils \ - g++-m68k-linux-gnu \ - libssl-dev \ - pkg-config - -COPY scripts/cmake.sh /scripts/ -RUN /scripts/cmake.sh - -COPY scripts/sccache.sh /scripts/ -RUN sh /scripts/sccache.sh - -ENV HOSTS=m68k-unknown-linux-gnu - -ENV RUST_CONFIGURE_ARGS="--host=$HOSTS --enable-extended" -ENV SCRIPT="python3 ../x.py dist --host $HOSTS --target $HOSTS" diff --git a/src/ci/docker/host-x86_64/disabled/dist-powerpcspe-linux/Dockerfile b/src/ci/docker/host-x86_64/disabled/dist-powerpcspe-linux/Dockerfile deleted file mode 100644 index 2dd10d30a070f..0000000000000 --- a/src/ci/docker/host-x86_64/disabled/dist-powerpcspe-linux/Dockerfile +++ /dev/null @@ -1,27 +0,0 @@ -FROM ubuntu:16.04 - -RUN apt-get update && apt-get install -y --no-install-recommends \ - g++ \ - make \ - ninja-build \ - file \ - curl \ - ca-certificates \ - python3 \ - git \ - cmake \ - sudo \ - gdb \ - xz-utils \ - g++-powerpc-linux-gnuspe \ - libssl-dev \ - pkg-config - - -COPY scripts/sccache.sh /scripts/ -RUN sh /scripts/sccache.sh - -ENV HOSTS=powerpc-unknown-linux-gnuspe - -ENV RUST_CONFIGURE_ARGS="--enable-extended --disable-docs" -ENV SCRIPT="python3 ../x.py dist --host $HOSTS --target $HOSTS" diff --git a/src/ci/docker/host-x86_64/disabled/dist-sparc64-linux/Dockerfile b/src/ci/docker/host-x86_64/disabled/dist-sparc64-linux/Dockerfile deleted file mode 100644 index e61251cbe047c..0000000000000 --- a/src/ci/docker/host-x86_64/disabled/dist-sparc64-linux/Dockerfile +++ /dev/null @@ -1,27 +0,0 @@ -FROM ubuntu:16.04 - -RUN apt-get update && apt-get install -y --no-install-recommends \ - g++ \ - make \ - ninja-build \ - file \ - curl \ - ca-certificates \ - python3 \ - git \ - cmake \ - sudo \ - gdb \ - xz-utils \ - g++-sparc64-linux-gnu \ - libssl-dev \ - pkg-config - - -COPY scripts/sccache.sh /scripts/ -RUN sh /scripts/sccache.sh - -ENV HOSTS=sparc64-unknown-linux-gnu - -ENV RUST_CONFIGURE_ARGS="--enable-extended --disable-docs" -ENV SCRIPT="python3 ../x.py dist --host $HOSTS --target $HOSTS" diff --git a/src/ci/docker/host-x86_64/disabled/dist-x86_64-android/Dockerfile b/src/ci/docker/host-x86_64/disabled/dist-x86_64-android/Dockerfile deleted file mode 100644 index b92d5729cbb88..0000000000000 --- a/src/ci/docker/host-x86_64/disabled/dist-x86_64-android/Dockerfile +++ /dev/null @@ -1,24 +0,0 @@ -FROM ubuntu:16.04 - -COPY scripts/android-base-apt-get.sh /scripts/ -RUN sh /scripts/android-base-apt-get.sh - -COPY scripts/android-ndk.sh /scripts/ -RUN . /scripts/android-ndk.sh && \ - download_and_make_toolchain android-ndk-r15c-linux-x86_64.zip x86_64 21 - -ENV PATH=$PATH:/android/ndk/x86_64-21/bin - -ENV DEP_Z_ROOT=/android/ndk/x86_64-21/sysroot/usr/ - -ENV HOSTS=x86_64-linux-android - -ENV RUST_CONFIGURE_ARGS="--x86_64-linux-android-ndk=/android/ndk/x86_64-21 \ - --disable-rpath \ - --enable-extended \ - --enable-cargo-openssl-static" - -ENV SCRIPT="python3 ../x.py dist --target $HOSTS --host $HOSTS" - -COPY scripts/sccache.sh /scripts/ -RUN sh /scripts/sccache.sh diff --git a/src/ci/docker/host-x86_64/disabled/dist-x86_64-dragonfly/Dockerfile b/src/ci/docker/host-x86_64/disabled/dist-x86_64-dragonfly/Dockerfile deleted file mode 100644 index 7839c8d9494f7..0000000000000 --- a/src/ci/docker/host-x86_64/disabled/dist-x86_64-dragonfly/Dockerfile +++ /dev/null @@ -1,37 +0,0 @@ -FROM ubuntu:16.04 - -RUN apt-get update && apt-get install -y --no-install-recommends \ - g++ \ - make \ - ninja-build \ - file \ - curl \ - ca-certificates \ - python3 \ - git \ - cmake \ - sudo \ - bzip2 \ - xz-utils \ - wget \ - libssl-dev \ - bsdtar \ - pkg-config - - -COPY host-x86_64/dist-x86_64-dragonfly/build-toolchain.sh /tmp/ -COPY host-x86_64/dist-x86_64-dragonfly/patch-toolchain /tmp/ -RUN /tmp/build-toolchain.sh /tmp/patch-toolchain - -COPY scripts/sccache.sh /scripts/ -RUN sh /scripts/sccache.sh - -ENV \ - AR_x86_64_unknown_dragonfly=x86_64-unknown-dragonfly-ar \ - CC_x86_64_unknown_dragonfly=x86_64-unknown-dragonfly-gcc \ - CXX_x86_64_unknown_dragonfly=x86_64-unknown-dragonfly-g++ - -ENV HOSTS=x86_64-unknown-dragonfly - -ENV RUST_CONFIGURE_ARGS="--enable-extended" -ENV SCRIPT="python3 ../x.py dist --host $HOSTS --target $HOSTS" diff --git a/src/ci/docker/host-x86_64/disabled/dist-x86_64-dragonfly/build-toolchain.sh b/src/ci/docker/host-x86_64/disabled/dist-x86_64-dragonfly/build-toolchain.sh deleted file mode 100755 index b305f358c5a76..0000000000000 --- a/src/ci/docker/host-x86_64/disabled/dist-x86_64-dragonfly/build-toolchain.sh +++ /dev/null @@ -1,111 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -ARCH=x86_64 -PATCH_TOOLCHAIN=$1 -BINUTILS=2.25.1 -GCC=6.4.0 - -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 - trap - ERR - kill $PING_LOOP_PID - set -x -} - -mkdir binutils -cd binutils - -# First up, build binutils -curl https://ftp.gnu.org/gnu/binutils/binutils-$BINUTILS.tar.bz2 | tar xjf - -mkdir binutils-build -cd binutils-build -hide_output ../binutils-$BINUTILS/configure \ - --target=$ARCH-unknown-dragonfly -hide_output make -j10 -hide_output make install -cd ../.. -rm -rf binutils - -# Next, download the DragonFly libc and relevant header files - -URL=https://mirror-master.dragonflybsd.org/iso-images/dfly-x86_64-5.0.0_REL.iso.bz2 -mkdir dragonfly -curl $URL | bzcat | bsdtar xf - -C dragonfly ./usr/include ./usr/lib ./lib - -dst=/usr/local/$ARCH-unknown-dragonfly - -mkdir -p $dst/lib -cp -r dragonfly/usr/include $dst/ -cp dragonfly/usr/lib/crt1.o $dst/lib -cp dragonfly/usr/lib/Scrt1.o $dst/lib -cp dragonfly/usr/lib/crti.o $dst/lib -cp dragonfly/usr/lib/crtn.o $dst/lib -cp dragonfly/usr/lib/libc.a $dst/lib -cp dragonfly/usr/lib/libutil.a $dst/lib -cp dragonfly/usr/lib/libm.a $dst/lib -cp dragonfly/usr/lib/librt.so.0 $dst/lib -cp dragonfly/usr/lib/libexecinfo.so.1 $dst/lib -cp dragonfly/lib/libc.so.8 $dst/lib -cp dragonfly/lib/libm.so.4 $dst/lib -cp dragonfly/lib/libutil.so.4 $dst/lib -cp dragonfly/usr/lib/libpthread.so $dst/lib/libpthread.so -cp dragonfly/usr/lib/thread/libthread_xu.so.2 $dst/lib/libpthread.so.0 - -ln -s libc.so.8 $dst/lib/libc.so -ln -s libm.so.4 $dst/lib/libm.so -ln -s librt.so.0 $dst/lib/librt.so -ln -s libutil.so.4 $dst/lib/libutil.so -ln -s libexecinfo.so.1 $dst/lib/libexecinfo.so -rm -rf dragonfly - -# Finally, download and build gcc to target DragonFly -mkdir gcc -cd gcc -curl https://ftp.gnu.org/gnu/gcc/gcc-$GCC/gcc-$GCC.tar.gz | tar xzf - -cd gcc-$GCC - -# The following three patches are taken from DragonFly's dports collection: -# https://github.com/DragonFlyBSD/DPorts/tree/master/lang/gcc5 -# The dports specification for gcc5 contains a few more patches, but they are -# not relevant in this situation, as they are for a language we don't need -# (e.g. java), or a platform which is not supported by DragonFly (e.g. i386, -# powerpc64, ia64, arm). -# -# These patches probably only need to be updated in case the gcc version is -# updated. - -patch -p0 < $PATCH_TOOLCHAIN - -./contrib/download_prerequisites - -mkdir ../gcc-build -cd ../gcc-build -hide_output ../gcc-$GCC/configure \ - --enable-languages=c,c++ \ - --target=$ARCH-unknown-dragonfly \ - --disable-multilib \ - --disable-nls \ - --disable-libgomp \ - --disable-libquadmath \ - --disable-libssp \ - --disable-libvtv \ - --disable-libcilkrts \ - --disable-libada \ - --disable-libsanitizer \ - --disable-libquadmath-support \ - --disable-lto -hide_output make -j10 -hide_output make install -cd ../.. -rm -rf gcc diff --git a/src/ci/docker/host-x86_64/disabled/dist-x86_64-dragonfly/patch-toolchain b/src/ci/docker/host-x86_64/disabled/dist-x86_64-dragonfly/patch-toolchain deleted file mode 100644 index 98424309ee23d..0000000000000 --- a/src/ci/docker/host-x86_64/disabled/dist-x86_64-dragonfly/patch-toolchain +++ /dev/null @@ -1,23 +0,0 @@ ---- libstdc++-v3/config/os/bsd/dragonfly/os_defines.h.orig 2015-07-09 16:08:54 UTC -+++ libstdc++-v3/config/os/bsd/dragonfly/os_defines.h -@@ -29,4 +29,9 @@ - // System-specific #define, typedefs, corrections, etc, go here. This - // file will come before all others. - -+#define _GLIBCXX_USE_C99_CHECK 1 -+#define _GLIBCXX_USE_C99_DYNAMIC (!(__ISO_C_VISIBLE >= 1999)) -+#define _GLIBCXX_USE_C99_LONG_LONG_CHECK 1 -+#define _GLIBCXX_USE_C99_LONG_LONG_DYNAMIC (_GLIBCXX_USE_C99_DYNAMIC || !defined __LONG_LONG_SUPPORTED) -+ - #endif ---- libstdc++-v3/configure.orig 2016-05-26 18:34:47.163132921 +0200 -+++ libstdc++-v3/configure 2016-05-26 18:35:29.594590648 +0200 -@@ -52013,7 +52013,7 @@ - - ;; - -- *-freebsd*) -+ *-freebsd* | *-dragonfly*) - SECTION_FLAGS='-ffunction-sections -fdata-sections' - - diff --git a/src/ci/docker/host-x86_64/disabled/dist-x86_64-haiku/Dockerfile b/src/ci/docker/host-x86_64/disabled/dist-x86_64-haiku/Dockerfile deleted file mode 100644 index 69b47005bd666..0000000000000 --- a/src/ci/docker/host-x86_64/disabled/dist-x86_64-haiku/Dockerfile +++ /dev/null @@ -1,52 +0,0 @@ -FROM ubuntu:16.04 - -RUN apt-get update && apt-get install -y --no-install-recommends \ - autoconf \ - automake \ - bison \ - bzip2 \ - ca-certificates \ - cmake \ - curl \ - file \ - flex \ - g++ \ - gawk \ - git \ - libcurl4-openssl-dev \ - libssl-dev \ - make \ - ninja-build \ - nasm \ - pkg-config \ - python3 \ - sudo \ - texinfo \ - wget \ - xz-utils \ - zlib1g-dev - -COPY host-x86_64/dist-x86_64-haiku/llvm-config.sh /bin/llvm-config-haiku - -ENV ARCH=x86_64 - -WORKDIR /tmp -COPY host-x86_64/dist-x86_64-haiku/build-toolchain.sh /tmp/ -RUN /tmp/build-toolchain.sh $ARCH - -COPY host-x86_64/dist-x86_64-haiku/fetch-packages.sh /tmp/ -RUN /tmp/fetch-packages.sh - -COPY scripts/sccache.sh /scripts/ -RUN sh /scripts/sccache.sh - -ENV HOST=x86_64-unknown-haiku -ENV TARGET=target.$HOST - -ENV RUST_CONFIGURE_ARGS=" \ - --set=$TARGET.cc=x86_64-unknown-haiku-gcc \ - --set=$TARGET.cxx=x86_64-unknown-haiku-g++ \ - --set=$TARGET.llvm-config=/bin/llvm-config-haiku" -ENV EXTERNAL_LLVM="1" - -ENV SCRIPT="python3 ../x.py dist --host=$HOST --target=$HOST" diff --git a/src/ci/docker/host-x86_64/disabled/dist-x86_64-haiku/build-toolchain.sh b/src/ci/docker/host-x86_64/disabled/dist-x86_64-haiku/build-toolchain.sh deleted file mode 100755 index 189e537ecaeed..0000000000000 --- a/src/ci/docker/host-x86_64/disabled/dist-x86_64-haiku/build-toolchain.sh +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -ARCH=$1 - -TOP=$(pwd) - -BUILDTOOLS=$TOP/buildtools -HAIKU=$TOP/haiku -OUTPUT=/tools -SYSROOT=$OUTPUT/cross-tools-$ARCH/sysroot -PACKAGE_ROOT=/system - -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 - trap - ERR - kill $PING_LOOP_PID - set -x -} - -# First up, build a cross-compiler -git clone --depth=1 https://git.haiku-os.org/haiku -git clone --depth=1 https://git.haiku-os.org/buildtools -cd $BUILDTOOLS/jam -hide_output make -hide_output ./jam0 install -mkdir -p $OUTPUT -cd $OUTPUT -hide_output $HAIKU/configure --build-cross-tools $ARCH $TOP/buildtools - -# Set up sysroot to redirect to /system -mkdir -p $SYSROOT/boot -mkdir -p $PACKAGE_ROOT -ln -s $PACKAGE_ROOT $SYSROOT/boot/system - -# Build needed packages and tools for the cross-compiler -hide_output jam -q haiku.hpkg haiku_devel.hpkg 'package' - -# Set up our sysroot -cp $OUTPUT/objects/linux/lib/*.so /lib/x86_64-linux-gnu -cp $OUTPUT/objects/linux/x86_64/release/tools/package/package /bin/ -find $SYSROOT/../bin/ -type f -exec ln -s {} /bin/ \; - -# Extract packages -package extract -C $PACKAGE_ROOT $OUTPUT/objects/haiku/$ARCH/packaging/packages/haiku.hpkg -package extract -C $PACKAGE_ROOT $OUTPUT/objects/haiku/$ARCH/packaging/packages/haiku_devel.hpkg -find $OUTPUT/download/ -name '*.hpkg' -exec package extract -C $PACKAGE_ROOT {} \; - -# Fix libgcc_s so we can link to it -cd $PACKAGE_ROOT/develop/lib -ln -s ../../lib/libgcc_s.so libgcc_s.so - -# Clean up -rm -rf $BUILDTOOLS $HAIKU $OUTPUT/Jamfile $OUTPUT/attributes $OUTPUT/build \ - $OUTPUT/build_packages $OUTPUT/download $OUTPUT/objects diff --git a/src/ci/docker/host-x86_64/disabled/dist-x86_64-haiku/fetch-packages.sh b/src/ci/docker/host-x86_64/disabled/dist-x86_64-haiku/fetch-packages.sh deleted file mode 100755 index e4c9f86d268dc..0000000000000 --- a/src/ci/docker/host-x86_64/disabled/dist-x86_64-haiku/fetch-packages.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/env bash - -wget http://packages.haiku-os.org/haikuports/master/hpkg/llvm-4.0.1-2-x86_64.hpkg -wget http://packages.haiku-os.org/haikuports/master/hpkg/llvm_libs-4.0.1-2-x86_64.hpkg - -package extract -C /system llvm-4.0.1-2-x86_64.hpkg -package extract -C /system llvm_libs-4.0.1-2-x86_64.hpkg - -rm -f *.hpkg diff --git a/src/ci/docker/host-x86_64/disabled/dist-x86_64-haiku/llvm-config.sh b/src/ci/docker/host-x86_64/disabled/dist-x86_64-haiku/llvm-config.sh deleted file mode 100755 index 83f3a6e5f1216..0000000000000 --- a/src/ci/docker/host-x86_64/disabled/dist-x86_64-haiku/llvm-config.sh +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/sh - -case $1 in ---version) echo 4.0.1;; ---prefix) echo $SCRATCH/haiku-cross/sysroot/boot/system;; ---bindir) echo $SCRATCH/haiku-cross/sysroot/boot/system/bin;; ---includedir) echo $SCRATCH/haiku-cross/sysroot/boot/system/develop/headers;; ---libdir) echo $SCRATCH/haiku-/cross/sysroot/boot/system/develop/lib;; ---cmakedir) echo $SCRATCH/haiku-/cross/sysroot/boot/system/develop/lib/cmake/llvm;; ---cppflags) echo -I$SCRATCH/haiku-/cross/sysroot/boot/system/develop/headers \ - -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS;; ---cflags) echo -I$SCRATCH/haiku-cross/sysroot/boot/system/develop/headers \ - -fPIC -Wall -W -Wno-unused-parameter -Wwrite-strings \ - -Wno-missing-field-initializers -pedantic -Wno-long-long -Wno-comment \ - -Werror=date-time -ffunction-sections -fdata-sections -O3 -DNDEBUG \ - -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS;; ---cxxflags) echo -I/$SCRATCH/haiku-cross/sysroot/boot/system/develop/headers \ - -fPIC -fvisibility-inlines-hidden -Wall -W -Wno-unused-parameter \ - -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic \ - -Wno-long-long -Wno-maybe-uninitialized -Wdelete-non-virtual-dtor \ - -Wno-comment -Werror=date-time -std=c++11 -ffunction-sections \ - -fdata-sections -O3 -DNDEBUG -fno-exceptions \ - -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS;; ---ldflags) echo -L$SCRATCH/haiku-cross/sysroot/boot/system/develop/lib ;; ---system-libs) echo ;; ---libs) echo -lLLVM-4.0;; ---libfiles) echo $SCRATCH/haiku-cross/sysroot/boot/system/develop/lib/libLLVM-4.0.so;; ---components) echo aarch64 aarch64asmparser aarch64asmprinter aarch64codegen \ - aarch64desc aarch64disassembler aarch64info aarch64utils all \ - all-targets amdgpu amdgpuasmparser amdgpuasmprinter amdgpucodegen \ - amdgpudesc amdgpudisassembler amdgpuinfo amdgpuutils analysis arm \ - armasmparser armasmprinter armcodegen armdesc armdisassembler \ - arminfo asmparser asmprinter bitreader bitwriter bpf bpfasmprinter \ - bpfcodegen bpfdesc bpfdisassembler bpfinfo codegen core coroutines \ - coverage debuginfocodeview debuginfodwarf debuginfomsf debuginfopdb \ - demangle engine executionengine globalisel hexagon hexagonasmparser \ - hexagoncodegen hexagondesc hexagondisassembler hexagoninfo \ - instcombine instrumentation interpreter ipo irreader lanai \ - lanaiasmparser lanaicodegen lanaidesc lanaidisassembler lanaiinfo \ - lanaiinstprinter libdriver lineeditor linker lto mc mcdisassembler \ - mcjit mcparser mips mipsasmparser mipsasmprinter mipscodegen \ - mipsdesc mipsdisassembler mipsinfo mirparser msp430 msp430asmprinter \ - msp430codegen msp430desc msp430info native nativecodegen nvptx \ - nvptxasmprinter nvptxcodegen nvptxdesc nvptxinfo objcarcopts object \ - objectyaml option orcjit passes powerpc powerpcasmparser \ - powerpcasmprinter powerpccodegen powerpcdesc powerpcdisassembler \ - powerpcinfo profiledata riscv riscvcodegen riscvdesc riscvinfo \ - runtimedyld scalaropts selectiondag sparc sparcasmparser \ - sparcasmprinter sparccodegen sparcdesc sparcdisassembler sparcinfo \ - support symbolize systemz systemzasmparser systemzasmprinter \ - systemzcodegen systemzdesc systemzdisassembler systemzinfo tablegen \ - target transformutils vectorize x86 x86asmparser x86asmprinter \ - x86codegen x86desc x86disassembler x86info x86utils xcore \ - xcoreasmprinter xcorecodegen xcoredesc xcoredisassembler xcoreinfo;; ---host-target) echo x86_64-unknown-haiku;; ---has-rtti) echo YES;; ---shared-mode) echo shared;; -esac diff --git a/src/ci/docker/host-x86_64/disabled/dist-x86_64-redox/Dockerfile b/src/ci/docker/host-x86_64/disabled/dist-x86_64-redox/Dockerfile deleted file mode 100644 index 36ef0befb3337..0000000000000 --- a/src/ci/docker/host-x86_64/disabled/dist-x86_64-redox/Dockerfile +++ /dev/null @@ -1,23 +0,0 @@ -FROM ubuntu:16.04 - -COPY scripts/cross-apt-packages.sh /scripts/ -RUN sh /scripts/cross-apt-packages.sh - -COPY scripts/crosstool-ng.sh /scripts/ -COPY scripts/crosstool-ng-sha256-20260705.diff /scripts/ -RUN sh /scripts/crosstool-ng.sh - -WORKDIR /tmp -COPY host-x86_64/dist-various-1/install-x86_64-redox.sh /scripts/ -RUN sh /scripts/install-x86_64-redox.sh - -COPY scripts/sccache.sh /scripts/ -RUN sh /scripts/sccache.sh - -ENV \ - AR_x86_64_unknown_redox=x86_64-unknown-redox-ar \ - CC_x86_64_unknown_redox=x86_64-unknown-redox-gcc \ - CXX_x86_64_unknown_redox=x86_64-unknown-redox-g++ - -ENV RUST_CONFIGURE_ARGS="--enable-extended" -ENV SCRIPT="python3 ../x.py dist --host= --target x86_64-unknown-redox" diff --git a/src/ci/docker/host-x86_64/disabled/riscv64gc-gnu/Dockerfile b/src/ci/docker/host-x86_64/disabled/riscv64gc-gnu/Dockerfile deleted file mode 100644 index fb647dedbc217..0000000000000 --- a/src/ci/docker/host-x86_64/disabled/riscv64gc-gnu/Dockerfile +++ /dev/null @@ -1,98 +0,0 @@ -# based on armhf-gnu/Dockerfile -FROM ubuntu:22.04 - -ARG DEBIAN_FRONTEND=noninteractive -RUN apt-get update -y && apt-get install -y --no-install-recommends \ - bc \ - bzip2 \ - ca-certificates \ - cmake \ - cpio \ - curl \ - file \ - flex \ - bison \ - g++ \ - g++-riscv64-linux-gnu \ - git \ - libc6-dev \ - libc6-dev-riscv64-cross \ - libssl-dev \ - make \ - ninja-build \ - python3 \ - qemu-system-riscv64 \ - xz-utils - -ENV ARCH=riscv \ - CROSS_COMPILE=riscv64-linux-gnu- - -WORKDIR /build - -# From https://github.com/michaeljclark/busybear-linux/blob/master/conf/linux.config -COPY host-x86_64/riscv64gc-gnu/linux.config /build - -# Compile the kernel that we're going to be emulating with. This is -# basically just done to be compatible with the QEMU target that we're going -# to be using when running tests. -RUN curl https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.6.16.tar.xz | tar xJf - && \ - cp linux.config linux-5.6.16/.config && \ - cd /build/linux-5.6.16 && \ - make olddefconfig && \ - make -j$(nproc) vmlinux && \ - cp vmlinux /tmp && \ - rm -rf linux-5.6.16 - -# Compile an instance of busybox as this provides a lightweight system and init -# binary which we will boot into. Only trick here is configuring busybox to -# build static binaries. -RUN curl https://www.busybox.net/downloads/busybox-1.32.1.tar.bz2 | tar xjf - && \ - cd busybox-1.32.1 && \ - make defconfig && \ - sed -i 's/.*CONFIG_STATIC.*/CONFIG_STATIC=y/' .config && \ - make -j$(nproc) && \ - make install && \ - mv _install /tmp/rootfs && \ - cd /build && \ - rm -rf busybox-1.32.1 - -# Download the ubuntu rootfs, which we'll use as a chroot for all our tests. -WORKDIR /tmp -RUN mkdir rootfs/ubuntu -RUN curl https://cdimage.ubuntu.com/ubuntu-base/releases/22.04/release/ubuntu-base-22.04.2-base-riscv64.tar.gz | \ - tar xzf - -C rootfs/ubuntu && \ - cd rootfs && mkdir proc sys dev etc etc/init.d - -# Copy over our init script, which starts up our test server and also a few other -# misc tasks -COPY scripts/qemu-bare-bones-rcS rootfs/etc/init.d/rcS -RUN chmod +x rootfs/etc/init.d/rcS - -# Helper to quickly fill the entropy pool in the kernel -COPY scripts/qemu-bare-bones-addentropy.c /tmp/addentropy.c -RUN riscv64-linux-gnu-gcc addentropy.c -o rootfs/addentropy -static - -# download and build the riscv bootloader -RUN git clone https://github.com/riscv/riscv-pk -WORKDIR /tmp/riscv-pk -# This revision fixes a fault in recent QEMU from 64-bit accesses to the PLIC -# commits later than this one should work too -RUN git checkout 7d8b7c0dab72108e3ea7bb7744d3f6cc907c7ef4 -RUN mkdir build && cd build && \ - ../configure --with-payload=/tmp/vmlinux --host=riscv64-linux-gnu && \ - make -j$(nproc) && \ - cp bbl /tmp -WORKDIR /tmp -RUN rm -rf /tmp/riscv-pk - -COPY scripts/sccache.sh /scripts/ -RUN sh /scripts/sccache.sh - -# Avoid "fatal: detected dubious ownership in repository at '/checkout'" error -RUN git config --global --add safe.directory /checkout - -ENV RUST_CONFIGURE_ARGS="--qemu-riscv64-rootfs=/tmp/rootfs \ - --set target.riscv64gc-unknown-linux-gnu.linker=riscv64-linux-gnu-gcc" -ENV SCRIPT="python3 ../x.py --stage 2 test --host= --target riscv64gc-unknown-linux-gnu" - -ENV NO_CHANGE_USER=1 diff --git a/src/ci/docker/host-x86_64/disabled/riscv64gc-gnu/linux.config b/src/ci/docker/host-x86_64/disabled/riscv64gc-gnu/linux.config deleted file mode 100644 index 5142664742f20..0000000000000 --- a/src/ci/docker/host-x86_64/disabled/riscv64gc-gnu/linux.config +++ /dev/null @@ -1,51 +0,0 @@ -CONFIG_DEFAULT_HOSTNAME="busybear" -CONFIG_SYSVIPC=y -CONFIG_POSIX_MQUEUE=y -CONFIG_IKCONFIG=y -CONFIG_IKCONFIG_PROC=y -CONFIG_CGROUPS=y -CONFIG_CGROUP_SCHED=y -CONFIG_CFS_BANDWIDTH=y -CONFIG_CGROUP_BPF=y -CONFIG_NAMESPACES=y -CONFIG_USER_NS=y -CONFIG_CHECKPOINT_RESTORE=y -CONFIG_BLK_DEV_INITRD=y -CONFIG_EXPERT=y -CONFIG_BPF_SYSCALL=y -CONFIG_SMP=y -CONFIG_MODULES=y -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_PACKET_DIAG=y -CONFIG_UNIX=y -CONFIG_INET=y -CONFIG_NETLINK_DIAG=y -# CONFIG_WIRELESS is not set -CONFIG_PCI=y -CONFIG_DEVTMPFS=y -CONFIG_BLK_DEV_LOOP=y -CONFIG_VIRTIO_BLK=y -CONFIG_NETDEVICES=y -CONFIG_VIRTIO_NET=y -# CONFIG_ETHERNET is not set -# CONFIG_WLAN is not set -CONFIG_SERIAL_8250=y -CONFIG_SERIAL_8250_CONSOLE=y -CONFIG_SERIAL_OF_PLATFORM=y -CONFIG_HVC_RISCV_SBI=y -# CONFIG_HW_RANDOM is not set -# CONFIG_USB_SUPPORT is not set -CONFIG_VIRTIO_MMIO=y -CONFIG_SIFIVE_PLIC=y -CONFIG_RAS=y -CONFIG_EXT2_FS=y -CONFIG_EXT3_FS=y -CONFIG_EXT4_FS_POSIX_ACL=y -CONFIG_AUTOFS4_FS=y -CONFIG_MSDOS_FS=y -CONFIG_VFAT_FS=y -CONFIG_TMPFS=y -# CONFIG_CRYPTO_ECHAINIV is not set -# CONFIG_CRYPTO_HW is not set -CONFIG_PRINTK_TIME=y From add30b3068c4a6ace50b2ec24355085a0250fe96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Ber=C3=A1nek?= Date: Mon, 31 Aug 2026 22:37:38 +0200 Subject: [PATCH 2/8] Use the `test-` prefix for all test jobs --- .../Dockerfile | 0 .../Dockerfile | 0 .../Dockerfile | 0 .../Dockerfile | 0 .../Dockerfile | 0 .../android-sdk.lock | 0 .../{armhf-gnu => test-armhf-gnu}/Dockerfile | 0 .../vexpress_config | 0 .../Dockerfile | 0 .../{i686-gnu => test-i686-gnu}/Dockerfile | 0 .../Dockerfile | 0 .../check-default-config-profiles.sh | 0 .../reuse-requirements.in | 0 .../reuse-requirements.txt | 0 .../validate-toolstate.sh | 0 .../Dockerfile | 0 .../{tidy => test-tidy}/Dockerfile | 0 .../Dockerfile | 0 .../build-fuchsia.sh | 0 .../Dockerfile | 0 .../Dockerfile | 0 .../Dockerfile | 0 .../Dockerfile | 0 .../Dockerfile | 0 .../Dockerfile | 0 .../Dockerfile | 0 .../Dockerfile | 0 .../check-miri.sh | 0 .../Dockerfile | 0 .../Dockerfile | 0 .../Dockerfile | 0 .../Dockerfile | 0 .../Dockerfile | 0 .../checktools.sh | 0 .../Dockerfile | 0 .../Dockerfile | 0 src/ci/github-actions/jobs.yml | 142 +++++++++--------- src/doc/rustc-dev-guide/src/tests/ci.md | 4 +- 38 files changed, 73 insertions(+), 73 deletions(-) rename src/ci/docker/host-aarch64/{aarch64-gnu-debug => test-aarch64-gnu-debug}/Dockerfile (100%) rename src/ci/docker/host-aarch64/{aarch64-gnu-llvm-21 => test-aarch64-gnu-llvm-21}/Dockerfile (100%) rename src/ci/docker/host-aarch64/{aarch64-gnu => test-aarch64-gnu}/Dockerfile (100%) rename src/ci/docker/host-x86_64/{optional-x86_64-gnu-autodiff => optional-test-x86_64-gnu-autodiff}/Dockerfile (100%) rename src/ci/docker/host-x86_64/{arm-android => test-arm-android}/Dockerfile (100%) rename src/ci/docker/host-x86_64/{arm-android => test-arm-android}/android-sdk.lock (100%) rename src/ci/docker/host-x86_64/{armhf-gnu => test-armhf-gnu}/Dockerfile (100%) rename src/ci/docker/host-x86_64/{armhf-gnu => test-armhf-gnu}/vexpress_config (100%) rename src/ci/docker/host-x86_64/{i686-gnu-nopt => test-i686-gnu-nopt}/Dockerfile (100%) rename src/ci/docker/host-x86_64/{i686-gnu => test-i686-gnu}/Dockerfile (100%) rename src/ci/docker/host-x86_64/{pr-check-1 => test-pr-check-1}/Dockerfile (100%) rename src/ci/docker/host-x86_64/{pr-check-1 => test-pr-check-1}/check-default-config-profiles.sh (100%) rename src/ci/docker/host-x86_64/{pr-check-1 => test-pr-check-1}/reuse-requirements.in (100%) rename src/ci/docker/host-x86_64/{pr-check-1 => test-pr-check-1}/reuse-requirements.txt (100%) rename src/ci/docker/host-x86_64/{pr-check-1 => test-pr-check-1}/validate-toolstate.sh (100%) rename src/ci/docker/host-x86_64/{pr-check-2 => test-pr-check-2}/Dockerfile (100%) rename src/ci/docker/host-x86_64/{tidy => test-tidy}/Dockerfile (100%) rename src/ci/docker/host-x86_64/{x86_64-fuchsia => test-x86_64-fuchsia}/Dockerfile (100%) rename src/ci/docker/host-x86_64/{x86_64-fuchsia => test-x86_64-fuchsia}/build-fuchsia.sh (100%) rename src/ci/docker/host-x86_64/{x86_64-gnu-aux => test-x86_64-gnu-aux}/Dockerfile (100%) rename src/ci/docker/host-x86_64/{x86_64-gnu-debug => test-x86_64-gnu-debug}/Dockerfile (100%) rename src/ci/docker/host-x86_64/{x86_64-gnu-distcheck => test-x86_64-gnu-distcheck}/Dockerfile (100%) rename src/ci/docker/host-x86_64/{x86_64-gnu-gcc-core-tests => test-x86_64-gnu-gcc-core-tests}/Dockerfile (100%) rename src/ci/docker/host-x86_64/{x86_64-gnu-gcc => test-x86_64-gnu-gcc}/Dockerfile (100%) rename src/ci/docker/host-x86_64/{x86_64-gnu-llvm-21 => test-x86_64-gnu-llvm-21}/Dockerfile (100%) rename src/ci/docker/host-x86_64/{x86_64-gnu-llvm-22 => test-x86_64-gnu-llvm-22}/Dockerfile (100%) rename src/ci/docker/host-x86_64/{x86_64-gnu-miri => test-x86_64-gnu-miri}/Dockerfile (100%) rename src/ci/docker/host-x86_64/{x86_64-gnu-miri => test-x86_64-gnu-miri}/check-miri.sh (100%) rename src/ci/docker/host-x86_64/{x86_64-gnu-next-trait-solver-polonius => test-x86_64-gnu-next-trait-solver-polonius}/Dockerfile (100%) rename src/ci/docker/host-x86_64/{x86_64-gnu-nopt => test-x86_64-gnu-nopt}/Dockerfile (100%) rename src/ci/docker/host-x86_64/{x86_64-gnu-parallel-frontend => test-x86_64-gnu-parallel-frontend}/Dockerfile (100%) rename src/ci/docker/host-x86_64/{x86_64-gnu-stdlib-semver-check => test-x86_64-gnu-stdlib-semver-check}/Dockerfile (100%) rename src/ci/docker/host-x86_64/{x86_64-gnu-tools => test-x86_64-gnu-tools}/Dockerfile (100%) rename src/ci/docker/host-x86_64/{x86_64-gnu-tools => test-x86_64-gnu-tools}/checktools.sh (100%) rename src/ci/docker/host-x86_64/{x86_64-gnu => test-x86_64-gnu}/Dockerfile (100%) rename src/ci/docker/host-x86_64/{x86_64-rust-for-linux => test-x86_64-rust-for-linux}/Dockerfile (100%) diff --git a/src/ci/docker/host-aarch64/aarch64-gnu-debug/Dockerfile b/src/ci/docker/host-aarch64/test-aarch64-gnu-debug/Dockerfile similarity index 100% rename from src/ci/docker/host-aarch64/aarch64-gnu-debug/Dockerfile rename to src/ci/docker/host-aarch64/test-aarch64-gnu-debug/Dockerfile diff --git a/src/ci/docker/host-aarch64/aarch64-gnu-llvm-21/Dockerfile b/src/ci/docker/host-aarch64/test-aarch64-gnu-llvm-21/Dockerfile similarity index 100% rename from src/ci/docker/host-aarch64/aarch64-gnu-llvm-21/Dockerfile rename to src/ci/docker/host-aarch64/test-aarch64-gnu-llvm-21/Dockerfile diff --git a/src/ci/docker/host-aarch64/aarch64-gnu/Dockerfile b/src/ci/docker/host-aarch64/test-aarch64-gnu/Dockerfile similarity index 100% rename from src/ci/docker/host-aarch64/aarch64-gnu/Dockerfile rename to src/ci/docker/host-aarch64/test-aarch64-gnu/Dockerfile diff --git a/src/ci/docker/host-x86_64/optional-x86_64-gnu-autodiff/Dockerfile b/src/ci/docker/host-x86_64/optional-test-x86_64-gnu-autodiff/Dockerfile similarity index 100% rename from src/ci/docker/host-x86_64/optional-x86_64-gnu-autodiff/Dockerfile rename to src/ci/docker/host-x86_64/optional-test-x86_64-gnu-autodiff/Dockerfile diff --git a/src/ci/docker/host-x86_64/arm-android/Dockerfile b/src/ci/docker/host-x86_64/test-arm-android/Dockerfile similarity index 100% rename from src/ci/docker/host-x86_64/arm-android/Dockerfile rename to src/ci/docker/host-x86_64/test-arm-android/Dockerfile diff --git a/src/ci/docker/host-x86_64/arm-android/android-sdk.lock b/src/ci/docker/host-x86_64/test-arm-android/android-sdk.lock similarity index 100% rename from src/ci/docker/host-x86_64/arm-android/android-sdk.lock rename to src/ci/docker/host-x86_64/test-arm-android/android-sdk.lock diff --git a/src/ci/docker/host-x86_64/armhf-gnu/Dockerfile b/src/ci/docker/host-x86_64/test-armhf-gnu/Dockerfile similarity index 100% rename from src/ci/docker/host-x86_64/armhf-gnu/Dockerfile rename to src/ci/docker/host-x86_64/test-armhf-gnu/Dockerfile diff --git a/src/ci/docker/host-x86_64/armhf-gnu/vexpress_config b/src/ci/docker/host-x86_64/test-armhf-gnu/vexpress_config similarity index 100% rename from src/ci/docker/host-x86_64/armhf-gnu/vexpress_config rename to src/ci/docker/host-x86_64/test-armhf-gnu/vexpress_config diff --git a/src/ci/docker/host-x86_64/i686-gnu-nopt/Dockerfile b/src/ci/docker/host-x86_64/test-i686-gnu-nopt/Dockerfile similarity index 100% rename from src/ci/docker/host-x86_64/i686-gnu-nopt/Dockerfile rename to src/ci/docker/host-x86_64/test-i686-gnu-nopt/Dockerfile diff --git a/src/ci/docker/host-x86_64/i686-gnu/Dockerfile b/src/ci/docker/host-x86_64/test-i686-gnu/Dockerfile similarity index 100% rename from src/ci/docker/host-x86_64/i686-gnu/Dockerfile rename to src/ci/docker/host-x86_64/test-i686-gnu/Dockerfile diff --git a/src/ci/docker/host-x86_64/pr-check-1/Dockerfile b/src/ci/docker/host-x86_64/test-pr-check-1/Dockerfile similarity index 100% rename from src/ci/docker/host-x86_64/pr-check-1/Dockerfile rename to src/ci/docker/host-x86_64/test-pr-check-1/Dockerfile diff --git a/src/ci/docker/host-x86_64/pr-check-1/check-default-config-profiles.sh b/src/ci/docker/host-x86_64/test-pr-check-1/check-default-config-profiles.sh similarity index 100% rename from src/ci/docker/host-x86_64/pr-check-1/check-default-config-profiles.sh rename to src/ci/docker/host-x86_64/test-pr-check-1/check-default-config-profiles.sh diff --git a/src/ci/docker/host-x86_64/pr-check-1/reuse-requirements.in b/src/ci/docker/host-x86_64/test-pr-check-1/reuse-requirements.in similarity index 100% rename from src/ci/docker/host-x86_64/pr-check-1/reuse-requirements.in rename to src/ci/docker/host-x86_64/test-pr-check-1/reuse-requirements.in diff --git a/src/ci/docker/host-x86_64/pr-check-1/reuse-requirements.txt b/src/ci/docker/host-x86_64/test-pr-check-1/reuse-requirements.txt similarity index 100% rename from src/ci/docker/host-x86_64/pr-check-1/reuse-requirements.txt rename to src/ci/docker/host-x86_64/test-pr-check-1/reuse-requirements.txt diff --git a/src/ci/docker/host-x86_64/pr-check-1/validate-toolstate.sh b/src/ci/docker/host-x86_64/test-pr-check-1/validate-toolstate.sh similarity index 100% rename from src/ci/docker/host-x86_64/pr-check-1/validate-toolstate.sh rename to src/ci/docker/host-x86_64/test-pr-check-1/validate-toolstate.sh diff --git a/src/ci/docker/host-x86_64/pr-check-2/Dockerfile b/src/ci/docker/host-x86_64/test-pr-check-2/Dockerfile similarity index 100% rename from src/ci/docker/host-x86_64/pr-check-2/Dockerfile rename to src/ci/docker/host-x86_64/test-pr-check-2/Dockerfile diff --git a/src/ci/docker/host-x86_64/tidy/Dockerfile b/src/ci/docker/host-x86_64/test-tidy/Dockerfile similarity index 100% rename from src/ci/docker/host-x86_64/tidy/Dockerfile rename to src/ci/docker/host-x86_64/test-tidy/Dockerfile diff --git a/src/ci/docker/host-x86_64/x86_64-fuchsia/Dockerfile b/src/ci/docker/host-x86_64/test-x86_64-fuchsia/Dockerfile similarity index 100% rename from src/ci/docker/host-x86_64/x86_64-fuchsia/Dockerfile rename to src/ci/docker/host-x86_64/test-x86_64-fuchsia/Dockerfile diff --git a/src/ci/docker/host-x86_64/x86_64-fuchsia/build-fuchsia.sh b/src/ci/docker/host-x86_64/test-x86_64-fuchsia/build-fuchsia.sh similarity index 100% rename from src/ci/docker/host-x86_64/x86_64-fuchsia/build-fuchsia.sh rename to src/ci/docker/host-x86_64/test-x86_64-fuchsia/build-fuchsia.sh diff --git a/src/ci/docker/host-x86_64/x86_64-gnu-aux/Dockerfile b/src/ci/docker/host-x86_64/test-x86_64-gnu-aux/Dockerfile similarity index 100% rename from src/ci/docker/host-x86_64/x86_64-gnu-aux/Dockerfile rename to src/ci/docker/host-x86_64/test-x86_64-gnu-aux/Dockerfile diff --git a/src/ci/docker/host-x86_64/x86_64-gnu-debug/Dockerfile b/src/ci/docker/host-x86_64/test-x86_64-gnu-debug/Dockerfile similarity index 100% rename from src/ci/docker/host-x86_64/x86_64-gnu-debug/Dockerfile rename to src/ci/docker/host-x86_64/test-x86_64-gnu-debug/Dockerfile diff --git a/src/ci/docker/host-x86_64/x86_64-gnu-distcheck/Dockerfile b/src/ci/docker/host-x86_64/test-x86_64-gnu-distcheck/Dockerfile similarity index 100% rename from src/ci/docker/host-x86_64/x86_64-gnu-distcheck/Dockerfile rename to src/ci/docker/host-x86_64/test-x86_64-gnu-distcheck/Dockerfile diff --git a/src/ci/docker/host-x86_64/x86_64-gnu-gcc-core-tests/Dockerfile b/src/ci/docker/host-x86_64/test-x86_64-gnu-gcc-core-tests/Dockerfile similarity index 100% rename from src/ci/docker/host-x86_64/x86_64-gnu-gcc-core-tests/Dockerfile rename to src/ci/docker/host-x86_64/test-x86_64-gnu-gcc-core-tests/Dockerfile diff --git a/src/ci/docker/host-x86_64/x86_64-gnu-gcc/Dockerfile b/src/ci/docker/host-x86_64/test-x86_64-gnu-gcc/Dockerfile similarity index 100% rename from src/ci/docker/host-x86_64/x86_64-gnu-gcc/Dockerfile rename to src/ci/docker/host-x86_64/test-x86_64-gnu-gcc/Dockerfile diff --git a/src/ci/docker/host-x86_64/x86_64-gnu-llvm-21/Dockerfile b/src/ci/docker/host-x86_64/test-x86_64-gnu-llvm-21/Dockerfile similarity index 100% rename from src/ci/docker/host-x86_64/x86_64-gnu-llvm-21/Dockerfile rename to src/ci/docker/host-x86_64/test-x86_64-gnu-llvm-21/Dockerfile diff --git a/src/ci/docker/host-x86_64/x86_64-gnu-llvm-22/Dockerfile b/src/ci/docker/host-x86_64/test-x86_64-gnu-llvm-22/Dockerfile similarity index 100% rename from src/ci/docker/host-x86_64/x86_64-gnu-llvm-22/Dockerfile rename to src/ci/docker/host-x86_64/test-x86_64-gnu-llvm-22/Dockerfile diff --git a/src/ci/docker/host-x86_64/x86_64-gnu-miri/Dockerfile b/src/ci/docker/host-x86_64/test-x86_64-gnu-miri/Dockerfile similarity index 100% rename from src/ci/docker/host-x86_64/x86_64-gnu-miri/Dockerfile rename to src/ci/docker/host-x86_64/test-x86_64-gnu-miri/Dockerfile diff --git a/src/ci/docker/host-x86_64/x86_64-gnu-miri/check-miri.sh b/src/ci/docker/host-x86_64/test-x86_64-gnu-miri/check-miri.sh similarity index 100% rename from src/ci/docker/host-x86_64/x86_64-gnu-miri/check-miri.sh rename to src/ci/docker/host-x86_64/test-x86_64-gnu-miri/check-miri.sh diff --git a/src/ci/docker/host-x86_64/x86_64-gnu-next-trait-solver-polonius/Dockerfile b/src/ci/docker/host-x86_64/test-x86_64-gnu-next-trait-solver-polonius/Dockerfile similarity index 100% rename from src/ci/docker/host-x86_64/x86_64-gnu-next-trait-solver-polonius/Dockerfile rename to src/ci/docker/host-x86_64/test-x86_64-gnu-next-trait-solver-polonius/Dockerfile diff --git a/src/ci/docker/host-x86_64/x86_64-gnu-nopt/Dockerfile b/src/ci/docker/host-x86_64/test-x86_64-gnu-nopt/Dockerfile similarity index 100% rename from src/ci/docker/host-x86_64/x86_64-gnu-nopt/Dockerfile rename to src/ci/docker/host-x86_64/test-x86_64-gnu-nopt/Dockerfile diff --git a/src/ci/docker/host-x86_64/x86_64-gnu-parallel-frontend/Dockerfile b/src/ci/docker/host-x86_64/test-x86_64-gnu-parallel-frontend/Dockerfile similarity index 100% rename from src/ci/docker/host-x86_64/x86_64-gnu-parallel-frontend/Dockerfile rename to src/ci/docker/host-x86_64/test-x86_64-gnu-parallel-frontend/Dockerfile diff --git a/src/ci/docker/host-x86_64/x86_64-gnu-stdlib-semver-check/Dockerfile b/src/ci/docker/host-x86_64/test-x86_64-gnu-stdlib-semver-check/Dockerfile similarity index 100% rename from src/ci/docker/host-x86_64/x86_64-gnu-stdlib-semver-check/Dockerfile rename to src/ci/docker/host-x86_64/test-x86_64-gnu-stdlib-semver-check/Dockerfile diff --git a/src/ci/docker/host-x86_64/x86_64-gnu-tools/Dockerfile b/src/ci/docker/host-x86_64/test-x86_64-gnu-tools/Dockerfile similarity index 100% rename from src/ci/docker/host-x86_64/x86_64-gnu-tools/Dockerfile rename to src/ci/docker/host-x86_64/test-x86_64-gnu-tools/Dockerfile diff --git a/src/ci/docker/host-x86_64/x86_64-gnu-tools/checktools.sh b/src/ci/docker/host-x86_64/test-x86_64-gnu-tools/checktools.sh similarity index 100% rename from src/ci/docker/host-x86_64/x86_64-gnu-tools/checktools.sh rename to src/ci/docker/host-x86_64/test-x86_64-gnu-tools/checktools.sh diff --git a/src/ci/docker/host-x86_64/x86_64-gnu/Dockerfile b/src/ci/docker/host-x86_64/test-x86_64-gnu/Dockerfile similarity index 100% rename from src/ci/docker/host-x86_64/x86_64-gnu/Dockerfile rename to src/ci/docker/host-x86_64/test-x86_64-gnu/Dockerfile diff --git a/src/ci/docker/host-x86_64/x86_64-rust-for-linux/Dockerfile b/src/ci/docker/host-x86_64/test-x86_64-rust-for-linux/Dockerfile similarity index 100% rename from src/ci/docker/host-x86_64/x86_64-rust-for-linux/Dockerfile rename to src/ci/docker/host-x86_64/test-x86_64-rust-for-linux/Dockerfile diff --git a/src/ci/github-actions/jobs.yml b/src/ci/github-actions/jobs.yml index 387d0b77f1af5..d2ed66cee7061 100644 --- a/src/ci/github-actions/jobs.yml +++ b/src/ci/github-actions/jobs.yml @@ -109,11 +109,11 @@ jobs: # When overridden, `citool` will check for equivalence between the PR and CI job # of the same name modulo `continue_on_error` and `env`. pr: - - name: pr-check-1 + - name: test-pr-check-1 <<: *job-linux-4c - - name: pr-check-2 + - name: test-pr-check-2 <<: *job-linux-4c - - name: tidy + - name: test-tidy continue_on_error: true free_disk: false env: @@ -121,33 +121,33 @@ pr: # tidy. This speeds up the PR CI job by ~1 minute. SKIP_SUBMODULES: src/gcc <<: *job-linux-4c - - name: x86_64-gnu-llvm-21 + - name: test-x86_64-gnu-llvm-21 env: ENABLE_GCC_CODEGEN: "1" DOCKER_SCRIPT: x86_64-gnu-llvm.sh <<: *job-linux-4c - - name: aarch64-gnu-llvm-21-1 + - name: test-aarch64-gnu-llvm-21-1 env: - IMAGE: aarch64-gnu-llvm-21 + IMAGE: test-aarch64-gnu-llvm-21 LLVM_VERSION: "21" DOCKER_SCRIPT: stage_2_test_set1.sh <<: *job-aarch64-linux - - name: aarch64-gnu-llvm-21-2 + - name: test-aarch64-gnu-llvm-21-2 env: - IMAGE: aarch64-gnu-llvm-21 + IMAGE: test-aarch64-gnu-llvm-21 LLVM_VERSION: "21" DOCKER_SCRIPT: stage_2_test_set2.sh <<: *job-aarch64-linux - - name: x86_64-gnu-tools + - name: test-x86_64-gnu-tools <<: *job-linux-4c - - name: x86_64-gnu-miri + - name: test-x86_64-gnu-miri <<: *job-linux-4c - - name: x86_64-gnu-gcc + - name: test-x86_64-gnu-gcc doc_url: https://rustc-dev-guide.rust-lang.org/tests/codegen-backend-tests/cg_gcc.html env: CODEGEN_BACKENDS: llvm,gcc <<: *job-linux-4c - - name: x86_64-gnu-gcc-core-tests + - name: test-x86_64-gnu-gcc-core-tests doc_url: https://rustc-dev-guide.rust-lang.org/tests/codegen-backend-tests/cg_gcc.html env: CODEGEN_BACKENDS: gcc @@ -155,7 +155,7 @@ pr: # This job tests features we want to stabilize soon, to ensure they don't # regress. - - name: x86_64-gnu-next-trait-solver-polonius + - name: test-x86_64-gnu-next-trait-solver-polonius doc_url: https://rustc-dev-guide.rust-lang.org/tests/x86_64-gnu-next-trait-solver-polonius-ci-job.html env: CODEGEN_BACKENDS: llvm @@ -174,9 +174,9 @@ try: optional: # This job is used just to test optional jobs. # It will be replaced by tier 2 and tier 3 jobs in the future. - - name: optional-pr-check-1 + - name: optional-test-pr-check-1 env: - IMAGE: pr-check-1 + IMAGE: test-pr-check-1 <<: *job-linux-4c - <<: [*job-dist-x86_64-linux, *job-linux-36c-codebuild] name: dist-x86_64-linux-codebuild @@ -206,16 +206,16 @@ auto: # Linux/Docker builders # ############################# - - name: aarch64-gnu + - name: test-aarch64-gnu <<: *job-aarch64-linux - - name: aarch64-gnu-debug + - name: test-aarch64-gnu-debug <<: *job-aarch64-linux - - name: arm-android + - name: test-arm-android <<: *job-linux-4c - - name: armhf-gnu + - name: test-armhf-gnu <<: *job-linux-4c - name: dist-aarch64-linux @@ -323,45 +323,45 @@ auto: # The i686-gnu job is split into multiple jobs to run tests in parallel. # i686-gnu-1 skips tests that run in i686-gnu-2. - - name: i686-gnu-1 + - name: test-i686-gnu-1 env: - IMAGE: i686-gnu + IMAGE: test-i686-gnu DOCKER_SCRIPT: stage_2_test_set1.sh <<: *job-linux-4c # Skip tests that run in i686-gnu-1 - - name: i686-gnu-2 + - name: test-i686-gnu-2 env: - IMAGE: i686-gnu + IMAGE: test-i686-gnu DOCKER_SCRIPT: stage_2_test_set2.sh <<: *job-linux-4c # The i686-gnu-nopt job is split into multiple jobs to run tests in parallel. # i686-gnu-nopt-1 skips tests that run in i686-gnu-nopt-2 - - name: i686-gnu-nopt-1 + - name: test-i686-gnu-nopt-1 env: - IMAGE: i686-gnu-nopt + IMAGE: test-i686-gnu-nopt DOCKER_SCRIPT: stage_2_test_set1.sh <<: *job-linux-4c # Skip tests that run in i686-gnu-nopt-1 - - name: i686-gnu-nopt-2 + - name: test-i686-gnu-nopt-2 env: - IMAGE: i686-gnu-nopt + IMAGE: test-i686-gnu-nopt DOCKER_SCRIPT: i686-gnu-nopt-2.sh <<: *job-linux-4c - - name: pr-check-1 + - name: test-pr-check-1 <<: *job-linux-4c - - name: pr-check-2 + - name: test-pr-check-2 <<: *job-linux-4c - - name: tidy + - name: test-tidy free_disk: false <<: *job-linux-4c - - name: test-various + - name: test-test-various <<: *job-linux-4c # FIXME: temporarily disabled due to fuchsia server rate limits. See @@ -377,14 +377,14 @@ auto: # Tests integration with Rust for Linux. # Builds stage 1 compiler and tries to compile a few RfL examples with it. - - name: x86_64-rust-for-linux + - name: test-x86_64-rust-for-linux doc_url: https://rustc-dev-guide.rust-lang.org/tests/rust-for-linux.html <<: *job-linux-4c - - name: x86_64-gnu + - name: test-x86_64-gnu <<: *job-linux-4c - - name: x86_64-gnu-parallel-frontend + - name: test-x86_64-gnu-parallel-frontend doc_url: https://rustc-dev-guide.rust-lang.org/tests/x86_64-gnu-parallel-frontend.html env: DOCKER_SCRIPT: x86_64-gnu-parallel-frontend.sh @@ -395,94 +395,94 @@ auto: # depend on the channel being built (for example if they include the # channel name on the output), and this builder prevents landing # changes that would result in broken builds after a promotion. - - name: x86_64-gnu-stable + - name: test-x86_64-gnu-stable # Only run this job on the nightly channel. Running this on beta # could cause failures when `dev: 1` in `stage0.txt`, and running # this on stable is useless. only_on_channel: nightly env: - IMAGE: x86_64-gnu + IMAGE: test-x86_64-gnu RUST_CI_OVERRIDE_RELEASE_CHANNEL: stable <<: *job-linux-4c - - name: x86_64-gnu-aux + - name: test-x86_64-gnu-aux <<: *job-linux-4c - - name: x86_64-gnu-debug + - name: test-x86_64-gnu-debug <<: *job-linux-4c - - name: x86_64-gnu-distcheck + - name: test-x86_64-gnu-distcheck <<: *job-linux-4c # The x86_64-gnu-llvm-21 job is split into multiple jobs to run tests in parallel. # x86_64-gnu-llvm-21-1 skips tests that run in x86_64-gnu-llvm-21-{2,3}. - - name: x86_64-gnu-llvm-21-1 + - name: test-x86_64-gnu-llvm-21-1 env: RUST_BACKTRACE: 1 - IMAGE: x86_64-gnu-llvm-21 + IMAGE: test-x86_64-gnu-llvm-21 LLVM_VERSION: "21" DOCKER_SCRIPT: stage_2_test_set2.sh <<: *job-linux-4c # Skip tests that run in x86_64-gnu-llvm-21-{1,3} - - name: x86_64-gnu-llvm-21-2 + - name: test-x86_64-gnu-llvm-21-2 env: RUST_BACKTRACE: 1 - IMAGE: x86_64-gnu-llvm-21 + IMAGE: test-x86_64-gnu-llvm-21 LLVM_VERSION: "21" DOCKER_SCRIPT: x86_64-gnu-llvm2.sh <<: *job-linux-4c # Skip tests that run in x86_64-gnu-llvm-21-{1,2} - - name: x86_64-gnu-llvm-21-3 + - name: test-x86_64-gnu-llvm-21-3 env: RUST_BACKTRACE: 1 - IMAGE: x86_64-gnu-llvm-21 + IMAGE: test-x86_64-gnu-llvm-21 LLVM_VERSION: "21" DOCKER_SCRIPT: x86_64-gnu-llvm3.sh <<: *job-linux-4c # The x86_64-gnu-llvm-22 job is split into multiple jobs to run tests in parallel. # x86_64-gnu-llvm-22-1 skips tests that run in x86_64-gnu-llvm-22-{2,3}. - - name: x86_64-gnu-llvm-22-1 + - name: test-x86_64-gnu-llvm-22-1 env: RUST_BACKTRACE: 1 - IMAGE: x86_64-gnu-llvm-22 + IMAGE: test-x86_64-gnu-llvm-22 DOCKER_SCRIPT: stage_2_test_set2.sh <<: *job-linux-4c # Skip tests that run in x86_64-gnu-llvm-22-{1,3} - - name: x86_64-gnu-llvm-22-2 + - name: test-x86_64-gnu-llvm-22-2 env: RUST_BACKTRACE: 1 - IMAGE: x86_64-gnu-llvm-22 + IMAGE: test-x86_64-gnu-llvm-22 DOCKER_SCRIPT: x86_64-gnu-llvm2.sh <<: *job-linux-4c # Skip tests that run in x86_64-gnu-llvm-22-{1,2} - - name: x86_64-gnu-llvm-22-3 + - name: test-x86_64-gnu-llvm-22-3 env: RUST_BACKTRACE: 1 - IMAGE: x86_64-gnu-llvm-22 + IMAGE: test-x86_64-gnu-llvm-22 DOCKER_SCRIPT: x86_64-gnu-llvm3.sh <<: *job-linux-4c - - name: x86_64-gnu-nopt + - name: test-x86_64-gnu-nopt <<: *job-linux-4c - - name: x86_64-gnu-tools + - name: test-x86_64-gnu-tools env: DEPLOY_TOOLSTATES_JSON: toolstates-linux.json <<: *job-linux-4c - - name: x86_64-gnu-miri + - name: test-x86_64-gnu-miri <<: *job-linux-4c - - name: x86_64-gnu-stdlib-semver-check + - name: test-x86_64-gnu-stdlib-semver-check doc_url: https://rustc-dev-guide.rust-lang.org/tests/stdlib-semver-check.html <<: *job-linux-4c - - name: optional-x86_64-gnu-autodiff + - name: optional-test-x86_64-gnu-autodiff continue_on_error: true doc_url: https://rustc-dev-guide.rust-lang.org/tests/autodiff-ci-job.html <<: *job-linux-4c @@ -576,7 +576,7 @@ auto: CODEGEN_BACKENDS: llvm,cranelift <<: *job-macos-15 - - name: aarch64-apple-1 + - name: test-aarch64-apple-1 env: # NOTE: keep in sync with `src/ci/docker/scripts/stage_2_test_set1.sh` SCRIPT: >- @@ -596,7 +596,7 @@ auto: MACOSX_STD_DEPLOYMENT_TARGET: 11.0 <<: *job-macos-15 - - name: aarch64-apple-2 + - name: test-aarch64-apple-2 env: # NOTE: keep in sync with `src/ci/docker/scripts/stage_2_test_set2.sh`, # union `src/tools/cargo` specifically. @@ -627,7 +627,7 @@ auto: # previous attempts have timed out multiple times. Remove/revert this job if # this hangs or times out, or if it becomes the slowest Merge CI job, and let # T-infra know. - - name: aarch64-apple-macos-26-1 + - name: test-aarch64-apple-macos-26-1 doc_url: https://github.com/rust-lang/rust/issues/157687 env: # NOTE: keep in sync with `src/ci/docker/scripts/stage_2_test_set1.sh` @@ -648,7 +648,7 @@ auto: MACOSX_STD_DEPLOYMENT_TARGET: 11.0 <<: *job-macos-26 - - name: aarch64-apple-macos-26-2 + - name: test-aarch64-apple-macos-26-2 doc_url: https://github.com/rust-lang/rust/issues/157687 env: # NOTE: keep in sync with `src/ci/docker/scripts/stage_2_test_set2.sh`, @@ -680,46 +680,46 @@ auto: ###################### # x86_64-msvc is split into two jobs to run tests in parallel. - - name: x86_64-msvc-1 + - name: test-x86_64-msvc-1 env: RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-sanitizers --enable-profiler SCRIPT: make ci-msvc-py <<: *job-windows - - name: x86_64-msvc-2 + - name: test-x86_64-msvc-2 env: RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-sanitizers --enable-profiler SCRIPT: make ci-msvc-ps1 <<: *job-windows # i686-msvc is split into two jobs to run tests in parallel. - - name: i686-msvc-1 + - name: test-i686-msvc-1 env: RUST_CONFIGURE_ARGS: --build=i686-pc-windows-msvc --enable-sanitizers SCRIPT: make ci-msvc-py <<: *job-windows - - name: i686-msvc-2 + - name: test-i686-msvc-2 env: RUST_CONFIGURE_ARGS: --build=i686-pc-windows-msvc --enable-sanitizers SCRIPT: make ci-msvc-ps1 <<: *job-windows # aarch64-msvc is split into two jobs to run tests in parallel. - - name: aarch64-msvc-1 + - name: test-aarch64-msvc-1 env: RUST_CONFIGURE_ARGS: --build=aarch64-pc-windows-msvc SCRIPT: make ci-msvc-py <<: *job-windows-aarch64 - - name: aarch64-msvc-2 + - name: test-aarch64-msvc-2 env: RUST_CONFIGURE_ARGS: --build=aarch64-pc-windows-msvc SCRIPT: make ci-msvc-ps1 <<: *job-windows-aarch64 # x86_64-msvc-ext is split into multiple jobs to run tests in parallel. - - name: x86_64-msvc-ext1 + - name: test-x86_64-msvc-ext1 env: SCRIPT: python x.py --stage 2 test src/tools/cargotest src/tools/cargo RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-lld @@ -728,7 +728,7 @@ auto: # Temporary builder to workaround CI issues # See #FIXME: Remove this, and re-enable the same tests in `checktools.sh`, once CI issues are fixed. - - name: x86_64-msvc-ext2 + - name: test-x86_64-msvc-ext2 env: SCRIPT: > python x.py test --stage 2 miri --target x86_64-apple-darwin --test-args pass && @@ -742,7 +742,7 @@ auto: <<: *job-windows # Run `checktools.sh` and upload the toolstate file. - - name: x86_64-msvc-ext3 + - name: test-x86_64-msvc-ext3 env: SCRIPT: src/ci/docker/host-x86_64/x86_64-gnu-tools/checktools.sh x.py /tmp/toolstate/toolstates.json windows HOST_TARGET: x86_64-pc-windows-msvc @@ -767,13 +767,13 @@ auto: # SourceForge is notoriously flaky, so we mirror it on our own infrastructure. # x86_64-mingw is split into two jobs to run tests in parallel. - - name: x86_64-mingw-1 + - name: test-x86_64-mingw-1 env: SCRIPT: make ci-mingw-x RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-gnu <<: *job-windows - - name: x86_64-mingw-2 + - name: test-x86_64-mingw-2 env: SCRIPT: make ci-mingw-bootstrap RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-gnu diff --git a/src/doc/rustc-dev-guide/src/tests/ci.md b/src/doc/rustc-dev-guide/src/tests/ci.md index 31c6949d85d6c..62cbb732ade23 100644 --- a/src/doc/rustc-dev-guide/src/tests/ci.md +++ b/src/doc/rustc-dev-guide/src/tests/ci.md @@ -66,8 +66,8 @@ kinds of builds (sets of jobs). ### Pull Request builds After each push to a pull request, a set of `pr` jobs are executed. -Currently, these execute the `x86_64-gnu-llvm-X`, `x86_64-gnu-tools`, `pr-check-1`, `pr-check-2` -and `tidy` jobs, all running on Linux. +Currently, these execute the `test-x86_64-gnu-llvm-X`, `test-x86_64-gnu-tools`, `test-pr-check-1`, `test-pr-check-2` +and `test-tidy` jobs, all running on Linux. These execute a relatively short (~40 minutes) and lightweight test suite that should catch common issues. More specifically, they run a set of lints, they try to perform a cross-compile check From 62d1864174e803b744bc148f477a67e9185b1252 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Ber=C3=A1nek?= Date: Mon, 31 Aug 2026 23:19:38 +0200 Subject: [PATCH 3/8] Check job naming convention in `citool` --- src/ci/citool/src/jobs.rs | 15 +++++++++++++-- src/ci/citool/src/main.rs | 2 +- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/ci/citool/src/jobs.rs b/src/ci/citool/src/jobs.rs index 9800f14d8fa39..3196f90da2720 100644 --- a/src/ci/citool/src/jobs.rs +++ b/src/ci/citool/src/jobs.rs @@ -108,7 +108,6 @@ pub fn load_job_db(db: &str) -> anyhow::Result { let mut db: JobDatabase = serde_yaml::from_value(db).context("failed to parse job database")?; register_pr_jobs_as_auto_jobs(&mut db)?; - validate_job_database(&db)?; Ok(db) @@ -127,7 +126,7 @@ pub fn load_job_db(db: &str) -> anyhow::Result { /// CI runs to be red until the cause is fixed. fn register_pr_jobs_as_auto_jobs(db: &mut JobDatabase) -> anyhow::Result<()> { for pr_job in &db.pr_jobs { - // It's acceptable to "override" a PR job in Auto job, for instance, `x86_64-gnu-tools` will + // It's acceptable to "override" a PR job in Auto job, for instance, `test-x86_64-gnu-tools` will // receive an additional `DEPLOY_TOOLSTATES_JSON: toolstates-linux.json` env when under Auto // environment versus PR environment. if db.find_auto_job_by_name(&pr_job.name).is_some() { @@ -212,6 +211,18 @@ fn validate_job_database(db: &JobDatabase) -> anyhow::Result<()> { } } + // All jobs should follow a naming convention - either they are test or dist jobs. + for job in &db.auto_jobs { + let name = job.name.strip_prefix("optional-").unwrap_or(&job.name); + if name.starts_with("dist-") || name.starts_with("test-") { + continue; + } + return Err(anyhow!( + "Auto job `{job}` name must start with test- or dist-`.", + job = job.name + )); + } + Ok(()) } diff --git a/src/ci/citool/src/main.rs b/src/ci/citool/src/main.rs index ff55b4df8f3d1..93f9bc639de59 100644 --- a/src/ci/citool/src/main.rs +++ b/src/ci/citool/src/main.rs @@ -21,7 +21,7 @@ use crate::analysis::{output_largest_job_duration_changes, output_test_diffs}; use crate::cpu_usage::load_cpu_usage; use crate::datadog::upload_datadog_metric; use crate::github::JobInfoResolver; -use crate::jobs::RunType; +use crate::jobs::{RunType, load_job_db}; use crate::metrics::{JobMetrics, download_auto_job_metrics, download_job_metrics, load_metrics}; use crate::test_dashboard::generate_test_dashboard; use crate::utils::{init_submodule_if_needed, load_env_var, output_details}; From 212b62587fd6225542bc44a8ec0f29d658fa976c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Ber=C3=A1nek?= Date: Mon, 31 Aug 2026 23:21:20 +0200 Subject: [PATCH 4/8] Update docs --- src/doc/rustc-dev-guide/src/tests/autodiff-ci-job.md | 4 ++-- src/doc/rustc-dev-guide/src/tests/ci.md | 4 ++-- .../rustc-dev-guide/src/tests/codegen-backend-tests/cg_gcc.md | 4 ++-- src/doc/rustc-dev-guide/src/tests/directives.md | 4 ++-- .../src/tests/optional-x86_64-gnu-parallel-frontend.md | 4 +--- src/doc/rustc-dev-guide/src/tests/stdlib-semver-check.md | 2 +- .../src/tests/x86_64-gnu-next-trait-solver-polonius-ci-job.md | 4 ++-- 7 files changed, 12 insertions(+), 14 deletions(-) diff --git a/src/doc/rustc-dev-guide/src/tests/autodiff-ci-job.md b/src/doc/rustc-dev-guide/src/tests/autodiff-ci-job.md index b4707918bd43e..28f7ef1740bc5 100644 --- a/src/doc/rustc-dev-guide/src/tests/autodiff-ci-job.md +++ b/src/doc/rustc-dev-guide/src/tests/autodiff-ci-job.md @@ -1,6 +1,6 @@ # Autodiff CI job -The [`optional-x86_64-gnu-autodiff`] job provides continuous test coverage for +The [`optional-test-x86_64-gnu-autodiff`] job provides continuous test coverage for the experimental `autodiff` feature and its integration with LLVM Enzyme. It is an optional [auto job](./ci.md#auto-builds), so a failure does not prevent a pull request from being merged. @@ -41,4 +41,4 @@ For suspected Enzyme backend failures, see the [autodiff debugging guide]. [autodiff Zulip channel]: https://rust-lang.zulipchat.com/#narrow/channel/390790-wg-autodiff [autodiff debugging guide]: ../autodiff/debugging.md [autodiff tracking issue]: https://github.com/rust-lang/rust/issues/124509 -[`optional-x86_64-gnu-autodiff`]: https://github.com/rust-lang/rust/blob/HEAD/src/ci/github-actions/jobs.yml +[`optional-test-x86_64-gnu-autodiff`]: https://github.com/rust-lang/rust/blob/HEAD/src/ci/github-actions/jobs.yml diff --git a/src/doc/rustc-dev-guide/src/tests/ci.md b/src/doc/rustc-dev-guide/src/tests/ci.md index 62cbb732ade23..7f3c38385ceca 100644 --- a/src/doc/rustc-dev-guide/src/tests/ci.md +++ b/src/doc/rustc-dev-guide/src/tests/ci.md @@ -253,11 +253,11 @@ to your PR, like this: ```yaml pr: ... - - image: x86_64-gnu-tools + - image: test-x86_64-gnu-tools <<: *job-linux-16c # this item was copied from the `auto` section # vvvvvvvvvvvvvvvvvv - - image: x86_64-msvc + - image: test-x86_64-msvc env: RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-profiler SCRIPT: make ci-msvc diff --git a/src/doc/rustc-dev-guide/src/tests/codegen-backend-tests/cg_gcc.md b/src/doc/rustc-dev-guide/src/tests/codegen-backend-tests/cg_gcc.md index 9ed91550b2626..9c9526989fc5a 100644 --- a/src/doc/rustc-dev-guide/src/tests/codegen-backend-tests/cg_gcc.md +++ b/src/doc/rustc-dev-guide/src/tests/codegen-backend-tests/cg_gcc.md @@ -9,7 +9,7 @@ Note that the backend currently only supports the `x86_64-unknown-linux-gnu` tar ## Running into GCC backend CI errors -If you ran into an error related to tests executed with the GCC codegen backend on CI in the `x86_64-gnu-gcc` job, +If you ran into an error related to tests executed with the GCC codegen backend on CI in the `test-x86_64-gnu-gcc` job, you can use the following command to run UI tests locally using the GCC backend, which reproduces what happens on CI: ```bash @@ -21,7 +21,7 @@ you can use the following command to run UI tests locally using the GCC backend, If a different test suite has failed on CI, you will have to modify the `tests/ui` part. -To reproduce the whole CI job locally, you can run `cargo run --manifest-path src/ci/citool/Cargo.toml run-local x86_64-gnu-gcc`. +To reproduce the whole CI job locally, you can run `cargo run --manifest-path src/ci/citool/Cargo.toml run-local test-x86_64-gnu-gcc`. See [Testing with Docker](../docker.md) for more information. ### What to do in case of a GCC job failure? diff --git a/src/doc/rustc-dev-guide/src/tests/directives.md b/src/doc/rustc-dev-guide/src/tests/directives.md index cca649fbfdd40..617ad701d129e 100644 --- a/src/doc/rustc-dev-guide/src/tests/directives.md +++ b/src/doc/rustc-dev-guide/src/tests/directives.md @@ -231,8 +231,8 @@ The following directives will check LLVM support: `COMPILETEST_REQUIRE_ALL_LLVM_COMPONENTS` is set) if the component does not exist. - `needs-forced-clang-based-tests` — test is ignored unless the environment variable `RUSTBUILD_FORCE_CLANG_BASED_TESTS` is set, which enables building clang alongside LLVM - - This is only set in two CI jobs ([`x86_64-gnu-debug`] and - [`aarch64-gnu-debug`]), which only runs a subset of `run-make` tests. + - This is only set in two CI jobs ([`test-x86_64-gnu-debug`] and + [`test-aarch64-gnu-debug`]), which only runs a subset of `run-make` tests. Other tests with this directive will not run at all, which is usually not what you want. See also [Debuginfo tests](compiletest.md#debuginfo-tests) for directives for ignoring debuggers. diff --git a/src/doc/rustc-dev-guide/src/tests/optional-x86_64-gnu-parallel-frontend.md b/src/doc/rustc-dev-guide/src/tests/optional-x86_64-gnu-parallel-frontend.md index 20dc5adeaa484..bfabce1dc2b69 100644 --- a/src/doc/rustc-dev-guide/src/tests/optional-x86_64-gnu-parallel-frontend.md +++ b/src/doc/rustc-dev-guide/src/tests/optional-x86_64-gnu-parallel-frontend.md @@ -1,8 +1,6 @@ # Parallel frontend testing on CI -NOTE: this job is optional and allowed to fail. - -If you see any test failures in `tests/ui` from the CI job `x86_64-gnu-parallel-frontend`, please +If you see any test failures in `tests/ui` from the CI job `test-x86_64-gnu-parallel-frontend`, please add `//@ ignore-parallel-frontend triage` to the failing test, even if your PR is otherwise entirely unrelated to parallel compiler or its testing. In some time people from the parallel rustc working group will triage the failing test, make a diff --git a/src/doc/rustc-dev-guide/src/tests/stdlib-semver-check.md b/src/doc/rustc-dev-guide/src/tests/stdlib-semver-check.md index af1116f69e75b..8e6f447cd639d 100644 --- a/src/doc/rustc-dev-guide/src/tests/stdlib-semver-check.md +++ b/src/doc/rustc-dev-guide/src/tests/stdlib-semver-check.md @@ -1,6 +1,6 @@ # Standard library semantic versioning breakage check -The `x86_64-gnu-stdlib-semver-check` job runs the [`cargo-semver-checks`][csc] (c-s-c) tool on the standard library (`core`, `alloc` and `std`) in order to find potential unintended semantic versioning (semver) breakages. +The `test-x86_64-gnu-stdlib-semver-check` job runs the [`cargo-semver-checks`][csc] (c-s-c) tool on the standard library (`core`, `alloc` and `std`) in order to find potential unintended semantic versioning (semver) breakages. It does so by analyzing the rustdoc JSON output (from the `rust-docs-json` component) of the parent merge commit, and the current commit being merged. When it runs, one of five things can happen: diff --git a/src/doc/rustc-dev-guide/src/tests/x86_64-gnu-next-trait-solver-polonius-ci-job.md b/src/doc/rustc-dev-guide/src/tests/x86_64-gnu-next-trait-solver-polonius-ci-job.md index fd35346f52923..08206d2c358fd 100644 --- a/src/doc/rustc-dev-guide/src/tests/x86_64-gnu-next-trait-solver-polonius-ci-job.md +++ b/src/doc/rustc-dev-guide/src/tests/x86_64-gnu-next-trait-solver-polonius-ci-job.md @@ -5,7 +5,7 @@ alpha with a goal to stabilize them in 2026. To achieve this, we need to ensure these unstable features are well tested and continuously well tested so they do not regress. -This calls for a dedicated CI job [`x86_64-gnu-next-trait-solver-polonius`] which is +This calls for a dedicated CI job [`test-x86_64-gnu-next-trait-solver-polonius`] which is blocking in PR CI and thus also Merge CI to catch regressions. For more context, see: @@ -51,4 +51,4 @@ a new topic in [t-compiler zulip channel](https://rust-lang.zulipchat.com/#narrow/channel/131828-t-compiler). -[`x86_64-gnu-next-trait-solver-polonius`]: https://github.com/rust-lang/rust/pull/157322 +[`test-x86_64-gnu-next-trait-solver-polonius`]: https://github.com/rust-lang/rust/pull/157322 From 6cc3edaf8820080ce95db9639414c10a645685ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Ber=C3=A1nek?= Date: Mon, 31 Aug 2026 23:23:00 +0200 Subject: [PATCH 5/8] Sort CI jobs To make it easier to search through them in the GitHub UI. --- src/ci/citool/src/jobs.rs | 3 ++- src/ci/citool/src/main.rs | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/ci/citool/src/jobs.rs b/src/ci/citool/src/jobs.rs index 3196f90da2720..3761996f2069b 100644 --- a/src/ci/citool/src/jobs.rs +++ b/src/ci/citool/src/jobs.rs @@ -392,10 +392,11 @@ pub fn calculate_job_matrix( })?; eprintln!("Run type: {run_type:?}"); - let jobs = calculate_jobs(&run_type, &db, channel)?; + let mut jobs = calculate_jobs(&run_type, &db, channel)?; if jobs.is_empty() && !matches!(run_type, RunType::MainJob) { return Err(anyhow::anyhow!("Computed job list is empty")); } + jobs.sort_by_key(|j| j.name.clone()); let run_type = match run_type { RunType::PullRequest => "pr", diff --git a/src/ci/citool/src/main.rs b/src/ci/citool/src/main.rs index 93f9bc639de59..ff55b4df8f3d1 100644 --- a/src/ci/citool/src/main.rs +++ b/src/ci/citool/src/main.rs @@ -21,7 +21,7 @@ use crate::analysis::{output_largest_job_duration_changes, output_test_diffs}; use crate::cpu_usage::load_cpu_usage; use crate::datadog::upload_datadog_metric; use crate::github::JobInfoResolver; -use crate::jobs::{RunType, load_job_db}; +use crate::jobs::RunType; use crate::metrics::{JobMetrics, download_auto_job_metrics, download_job_metrics, load_metrics}; use crate::test_dashboard::generate_test_dashboard; use crate::utils::{init_submodule_if_needed, load_env_var, output_details}; From d1b85363f895bc31b02f48921182efea3f6cbaa6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Ber=C3=A1nek?= Date: Tue, 1 Sep 2026 15:40:18 +0200 Subject: [PATCH 6/8] Fix COPY scripts --- src/ci/docker/host-x86_64/test-arm-android/Dockerfile | 2 +- src/ci/docker/host-x86_64/test-armhf-gnu/Dockerfile | 2 +- src/ci/docker/host-x86_64/test-pr-check-1/Dockerfile | 6 +++--- src/ci/docker/host-x86_64/test-tidy/Dockerfile | 2 +- src/ci/docker/host-x86_64/test-x86_64-gnu-miri/Dockerfile | 2 +- src/ci/docker/host-x86_64/test-x86_64-gnu-tools/Dockerfile | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/ci/docker/host-x86_64/test-arm-android/Dockerfile b/src/ci/docker/host-x86_64/test-arm-android/Dockerfile index 21f038bffe592..3855e1b58e7e0 100644 --- a/src/ci/docker/host-x86_64/test-arm-android/Dockerfile +++ b/src/ci/docker/host-x86_64/test-arm-android/Dockerfile @@ -22,7 +22,7 @@ RUN dpkg --add-architecture i386 && \ COPY scripts/android-sdk.sh /scripts/ COPY scripts/android-sdk-manager.py /scripts/ -COPY host-x86_64/arm-android/android-sdk.lock /android/sdk/android-sdk.lock +COPY host-x86_64/test-arm-android/android-sdk.lock /android/sdk/android-sdk.lock RUN /scripts/android-sdk.sh ENV PATH=$PATH:/android/sdk/emulator diff --git a/src/ci/docker/host-x86_64/test-armhf-gnu/Dockerfile b/src/ci/docker/host-x86_64/test-armhf-gnu/Dockerfile index f9a25a31c4930..7bb347c90ed9a 100644 --- a/src/ci/docker/host-x86_64/test-armhf-gnu/Dockerfile +++ b/src/ci/docker/host-x86_64/test-armhf-gnu/Dockerfile @@ -34,7 +34,7 @@ WORKDIR /build # The `vexpress_config` config file was a previously generated config file for # the kernel. This file was generated by running `make vexpress_defconfig` # followed by `make menuconfig` and then enabling the IPv6 protocol page. -COPY host-x86_64/armhf-gnu/vexpress_config /build/.config +COPY host-x86_64/test-armhf-gnu/vexpress_config /build/.config RUN curl https://ci-mirrors.rust-lang.org/rustc/linux-4.14.336.tar.gz | \ tar xzf - && \ cd /build/linux-4.14.336 && \ diff --git a/src/ci/docker/host-x86_64/test-pr-check-1/Dockerfile b/src/ci/docker/host-x86_64/test-pr-check-1/Dockerfile index 346ecb453f4d0..d479cfa0d188e 100644 --- a/src/ci/docker/host-x86_64/test-pr-check-1/Dockerfile +++ b/src/ci/docker/host-x86_64/test-pr-check-1/Dockerfile @@ -30,11 +30,11 @@ ENV PATH="/node/bin:${PATH}" COPY scripts/sccache.sh /scripts/ RUN sh /scripts/sccache.sh -COPY host-x86_64/pr-check-1/reuse-requirements.txt /tmp/ +COPY host-x86_64/test-pr-check-1/reuse-requirements.txt /tmp/ RUN pip3 install --no-deps --no-cache-dir --require-hashes -r /tmp/reuse-requirements.txt -COPY host-x86_64/pr-check-1/check-default-config-profiles.sh /scripts/ -COPY host-x86_64/pr-check-1/validate-toolstate.sh /scripts/ +COPY host-x86_64/test-pr-check-1/check-default-config-profiles.sh /scripts/ +COPY host-x86_64/test-pr-check-1/validate-toolstate.sh /scripts/ ENV PUPPETEER_SKIP_DOWNLOAD 1 diff --git a/src/ci/docker/host-x86_64/test-tidy/Dockerfile b/src/ci/docker/host-x86_64/test-tidy/Dockerfile index c7a083d149815..c8ffff6135fde 100644 --- a/src/ci/docker/host-x86_64/test-tidy/Dockerfile +++ b/src/ci/docker/host-x86_64/test-tidy/Dockerfile @@ -31,7 +31,7 @@ ENV PATH="/node/bin:${PATH}" COPY scripts/sccache.sh /scripts/ RUN sh /scripts/sccache.sh -COPY host-x86_64/pr-check-1/validate-toolstate.sh /scripts/ +COPY host-x86_64/test-pr-check-1/validate-toolstate.sh /scripts/ # python3 resolves to python3.12 on Ubuntu 24.04 ENV SCRIPT="python3 ../x.py test src/tools/tidy tidyselftest --extra-checks=py,cpp,js,spellcheck" diff --git a/src/ci/docker/host-x86_64/test-x86_64-gnu-miri/Dockerfile b/src/ci/docker/host-x86_64/test-x86_64-gnu-miri/Dockerfile index e478b80044215..c0e39d3aaf255 100644 --- a/src/ci/docker/host-x86_64/test-x86_64-gnu-miri/Dockerfile +++ b/src/ci/docker/host-x86_64/test-x86_64-gnu-miri/Dockerfile @@ -32,7 +32,7 @@ RUN sh /scripts/sccache.sh # Fix rustc_codegen_gcc lto issues. ENV GCC_EXEC_PREFIX="/usr/lib/gcc/" -COPY host-x86_64/x86_64-gnu-miri/check-miri.sh /tmp/ +COPY host-x86_64/test-x86_64-gnu-miri/check-miri.sh /tmp/ ENV RUST_CONFIGURE_ARGS="--build=x86_64-unknown-linux-gnu \ --enable-new-symbol-mangling" diff --git a/src/ci/docker/host-x86_64/test-x86_64-gnu-tools/Dockerfile b/src/ci/docker/host-x86_64/test-x86_64-gnu-tools/Dockerfile index f007024485b8b..3ab637088fdd9 100644 --- a/src/ci/docker/host-x86_64/test-x86_64-gnu-tools/Dockerfile +++ b/src/ci/docker/host-x86_64/test-x86_64-gnu-tools/Dockerfile @@ -71,7 +71,7 @@ RUN sh /scripts/sccache.sh # Fix rustc_codegen_gcc lto issues. ENV GCC_EXEC_PREFIX="/usr/lib/gcc/" -COPY host-x86_64/x86_64-gnu-tools/checktools.sh /tmp/ +COPY host-x86_64/test-x86_64-gnu-tools/checktools.sh /tmp/ # The version used by current `browser-ui-test` version. To be removed once `yarn` can download # it without failing... From d9a564be152a30ea6f1c59c5ab42cfba50a53ceb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Ber=C3=A1nek?= Date: Fri, 4 Sep 2026 09:41:10 +0200 Subject: [PATCH 7/8] Bless citool tests --- src/ci/citool/src/jobs/tests.rs | 56 ++++++++++++++++++++++--------- src/ci/citool/tests/jobs.rs | 12 +++---- src/ci/citool/tests/test-jobs.yml | 12 +++---- 3 files changed, 53 insertions(+), 27 deletions(-) diff --git a/src/ci/citool/src/jobs/tests.rs b/src/ci/citool/src/jobs/tests.rs index f1f6274e1ed7a..65990d35d61b1 100644 --- a/src/ci/citool/src/jobs/tests.rs +++ b/src/ci/citool/src/jobs/tests.rs @@ -159,7 +159,7 @@ envs: optional: pr: - - name: pr-ci-a + - name: test-pr-ci-a os: ubuntu env: {} try: @@ -169,7 +169,10 @@ optional: ) .unwrap(); - assert_eq!(db.auto_jobs.iter().map(|j| j.name.as_str()).collect::>(), vec!["pr-ci-a"]) + assert_eq!( + db.auto_jobs.iter().map(|j| j.name.as_str()).collect::>(), + vec!["test-pr-ci-a"] + ) } #[test] @@ -183,7 +186,7 @@ envs: optional: pr: - - name: tidy + - name: test-tidy env: DEPLOY_TOOLSTATES_JSON: toolstates-linux.json continue_on_error: true @@ -195,7 +198,7 @@ optional: ) .unwrap(); - assert_eq!(db.auto_jobs.iter().map(|j| j.name.as_str()).collect::>(), vec!["tidy"]); + assert_eq!(db.auto_jobs.iter().map(|j| j.name.as_str()).collect::>(), vec!["test-tidy"]); assert_eq!(db.auto_jobs[0].continue_on_error, Some(false)); assert_eq!( db.auto_jobs[0].env, @@ -218,10 +221,10 @@ envs: pr: - - name: pr-ci-a + - name: test-pr-ci-a os: ubuntu env: {} - - name: pr-ci-a + - name: test-pr-ci-a os: ubuntu env: {} try: @@ -243,12 +246,12 @@ envs: optional: pr: - - name: tidy + - name: test-tidy os: ubuntu env: {} try: auto: - - name: tidy + - name: test-tidy env: DEPLOY_TOOLSTATES_JSON: toolstates-linux.json continue_on_error: false @@ -258,7 +261,7 @@ optional: ) .unwrap(); - assert_eq!(db.auto_jobs.iter().map(|j| j.name.as_str()).collect::>(), vec!["tidy"]); + assert_eq!(db.auto_jobs.iter().map(|j| j.name.as_str()).collect::>(), vec!["test-tidy"]); assert_eq!(db.auto_jobs[0].continue_on_error, Some(false)); assert_eq!( db.auto_jobs[0].env, @@ -280,14 +283,14 @@ envs: optional: pr: - - name: tidy + - name: test-tidy continue_on_error: true env: ENV_ALLOWED_TO_DIFFER: "hello world" os: ubuntu try: auto: - - name: tidy + - name: test-tidy continue_on_error: false env: ENV_ALLOWED_TO_DIFFER: "goodbye world" @@ -300,7 +303,7 @@ optional: // `continue_on_error` and `env` are carve-outs *allowed* to diverge between PR and Auto job of // the same name. Should load successfully. - assert_eq!(db.auto_jobs.iter().map(|j| j.name.as_str()).collect::>(), vec!["tidy"]); + assert_eq!(db.auto_jobs.iter().map(|j| j.name.as_str()).collect::>(), vec!["test-tidy"]); assert_eq!(db.auto_jobs[0].continue_on_error, Some(false)); assert_eq!( db.auto_jobs[0].env, @@ -324,14 +327,14 @@ envs: optional: pr: - - name: tidy + - name: test-tidy continue_on_error: true env: ENV_ALLOWED_TO_DIFFER: "hello world" os: ubuntu try: auto: - - name: tidy + - name: test-tidy continue_on_error: false env: ENV_ALLOWED_TO_DIFFER: "goodbye world" @@ -357,7 +360,7 @@ envs: pr: try: auto: - - name: tidy + - name: test-tidy continue_on_error: true os: windows env: {} @@ -366,3 +369,26 @@ optional: ) .unwrap(); } + +#[test] +#[should_panic = "must start with test-"] +fn missing_test_job_prefix() { + let _ = load_job_db( + r#" +envs: + pr: + try: + auto: + optional: + +pr: +try: +auto: + - name: tidy + os: windows + env: {} +optional: +"#, + ) + .unwrap(); +} diff --git a/src/ci/citool/tests/jobs.rs b/src/ci/citool/tests/jobs.rs index 683c76f52e9ea..e45510d62d9af 100644 --- a/src/ci/citool/tests/jobs.rs +++ b/src/ci/citool/tests/jobs.rs @@ -6,7 +6,7 @@ const TEST_JOBS_YML_PATH: &str = concat!(env!("CARGO_MANIFEST_DIR"), "/tests/tes fn auto_jobs() { let stdout = get_matrix("push", "commit", "refs/heads/automation/bors/auto"); insta::assert_snapshot!(stdout, @r#" - jobs=[{"name":"aarch64-gnu","full_name":"auto - aarch64-gnu","os":"ubuntu-22.04-arm","env":{"ARTIFACTS_AWS_ACCESS_KEY_ID":"AKIA46X5W6CZN24CBO55","AWS_REGION":"us-west-1","CACHES_AWS_ACCESS_KEY_ID":"AKIA46X5W6CZI5DHEBFL","DEPLOY_BUCKET":"rust-lang-ci2","TOOLSTATE_PUBLISH":1},"free_disk":true},{"name":"x86_64-gnu-llvm-18-1","full_name":"auto - x86_64-gnu-llvm-18-1","os":"ubuntu-24.04","env":{"ARTIFACTS_AWS_ACCESS_KEY_ID":"AKIA46X5W6CZN24CBO55","AWS_REGION":"us-west-1","CACHES_AWS_ACCESS_KEY_ID":"AKIA46X5W6CZI5DHEBFL","DEPLOY_BUCKET":"rust-lang-ci2","DOCKER_SCRIPT":"stage_2_test_set1.sh","IMAGE":"x86_64-gnu-llvm-18","READ_ONLY_SRC":"0","RUST_BACKTRACE":1,"TOOLSTATE_PUBLISH":1},"free_disk":true},{"name":"aarch64-apple","full_name":"auto - aarch64-apple","os":"macos-15","env":{"ARTIFACTS_AWS_ACCESS_KEY_ID":"AKIA46X5W6CZN24CBO55","AWS_REGION":"us-west-1","CACHES_AWS_ACCESS_KEY_ID":"AKIA46X5W6CZI5DHEBFL","DEPLOY_BUCKET":"rust-lang-ci2","DEVELOPER_DIR":"/Applications/Xcode_26.2.app/Contents/Developer","MACOSX_DEPLOYMENT_TARGET":11.0,"MACOSX_STD_DEPLOYMENT_TARGET":11.0,"NO_DEBUG_ASSERTIONS":1,"NO_LLVM_ASSERTIONS":1,"NO_OVERFLOW_CHECKS":1,"RUSTC_RETRY_LINKER_ON_SEGFAULT":1,"RUST_CONFIGURE_ARGS":"--enable-sanitizers --enable-profiler --set build.allocator=jemalloc","SCRIPT":"./x.py --stage 2 test --host=aarch64-apple-darwin --target=aarch64-apple-darwin","TOOLSTATE_PUBLISH":1}},{"name":"dist-i686-msvc","full_name":"auto - dist-i686-msvc","os":"windows-2022","env":{"ARTIFACTS_AWS_ACCESS_KEY_ID":"AKIA46X5W6CZN24CBO55","AWS_REGION":"us-west-1","CACHES_AWS_ACCESS_KEY_ID":"AKIA46X5W6CZI5DHEBFL","CODEGEN_BACKENDS":"llvm,cranelift","DEPLOY_BUCKET":"rust-lang-ci2","DIST_REQUIRE_ALL_TOOLS":1,"RUST_CONFIGURE_ARGS":"--build=i686-pc-windows-msvc --host=i686-pc-windows-msvc --target=i686-pc-windows-msvc,i586-pc-windows-msvc --enable-full-tools --enable-profiler","SCRIPT":"python x.py dist bootstrap --include-default-paths","TOOLSTATE_PUBLISH":1}},{"name":"pr-check-1","full_name":"auto - pr-check-1","os":"ubuntu-24.04","env":{"ARTIFACTS_AWS_ACCESS_KEY_ID":"AKIA46X5W6CZN24CBO55","AWS_REGION":"us-west-1","CACHES_AWS_ACCESS_KEY_ID":"AKIA46X5W6CZI5DHEBFL","DEPLOY_BUCKET":"rust-lang-ci2","TOOLSTATE_PUBLISH":1},"continue_on_error":false,"free_disk":true},{"name":"pr-check-2","full_name":"auto - pr-check-2","os":"ubuntu-24.04","env":{"ARTIFACTS_AWS_ACCESS_KEY_ID":"AKIA46X5W6CZN24CBO55","AWS_REGION":"us-west-1","CACHES_AWS_ACCESS_KEY_ID":"AKIA46X5W6CZI5DHEBFL","DEPLOY_BUCKET":"rust-lang-ci2","TOOLSTATE_PUBLISH":1},"continue_on_error":false,"free_disk":true},{"name":"tidy","full_name":"auto - tidy","os":"ubuntu-24.04","env":{"ARTIFACTS_AWS_ACCESS_KEY_ID":"AKIA46X5W6CZN24CBO55","AWS_REGION":"us-west-1","CACHES_AWS_ACCESS_KEY_ID":"AKIA46X5W6CZI5DHEBFL","DEPLOY_BUCKET":"rust-lang-ci2","TOOLSTATE_PUBLISH":1},"continue_on_error":false,"free_disk":true,"doc_url":"https://foo.bar"}] + jobs=[{"name":"dist-i686-msvc","full_name":"auto - dist-i686-msvc","os":"windows-2022","env":{"ARTIFACTS_AWS_ACCESS_KEY_ID":"AKIA46X5W6CZN24CBO55","AWS_REGION":"us-west-1","CACHES_AWS_ACCESS_KEY_ID":"AKIA46X5W6CZI5DHEBFL","CODEGEN_BACKENDS":"llvm,cranelift","DEPLOY_BUCKET":"rust-lang-ci2","DIST_REQUIRE_ALL_TOOLS":1,"RUST_CONFIGURE_ARGS":"--build=i686-pc-windows-msvc --host=i686-pc-windows-msvc --target=i686-pc-windows-msvc,i586-pc-windows-msvc --enable-full-tools --enable-profiler","SCRIPT":"python x.py dist bootstrap --include-default-paths","TOOLSTATE_PUBLISH":1}},{"name":"test-aarch64-apple","full_name":"auto - test-aarch64-apple","os":"macos-15","env":{"ARTIFACTS_AWS_ACCESS_KEY_ID":"AKIA46X5W6CZN24CBO55","AWS_REGION":"us-west-1","CACHES_AWS_ACCESS_KEY_ID":"AKIA46X5W6CZI5DHEBFL","DEPLOY_BUCKET":"rust-lang-ci2","DEVELOPER_DIR":"/Applications/Xcode_26.2.app/Contents/Developer","MACOSX_DEPLOYMENT_TARGET":11.0,"MACOSX_STD_DEPLOYMENT_TARGET":11.0,"NO_DEBUG_ASSERTIONS":1,"NO_LLVM_ASSERTIONS":1,"NO_OVERFLOW_CHECKS":1,"RUSTC_RETRY_LINKER_ON_SEGFAULT":1,"RUST_CONFIGURE_ARGS":"--enable-sanitizers --enable-profiler --set build.allocator=jemalloc","SCRIPT":"./x.py --stage 2 test --host=aarch64-apple-darwin --target=aarch64-apple-darwin","TOOLSTATE_PUBLISH":1}},{"name":"test-aarch64-gnu","full_name":"auto - test-aarch64-gnu","os":"ubuntu-22.04-arm","env":{"ARTIFACTS_AWS_ACCESS_KEY_ID":"AKIA46X5W6CZN24CBO55","AWS_REGION":"us-west-1","CACHES_AWS_ACCESS_KEY_ID":"AKIA46X5W6CZI5DHEBFL","DEPLOY_BUCKET":"rust-lang-ci2","TOOLSTATE_PUBLISH":1},"free_disk":true},{"name":"test-pr-check-1","full_name":"auto - test-pr-check-1","os":"ubuntu-24.04","env":{"ARTIFACTS_AWS_ACCESS_KEY_ID":"AKIA46X5W6CZN24CBO55","AWS_REGION":"us-west-1","CACHES_AWS_ACCESS_KEY_ID":"AKIA46X5W6CZI5DHEBFL","DEPLOY_BUCKET":"rust-lang-ci2","TOOLSTATE_PUBLISH":1},"continue_on_error":false,"free_disk":true},{"name":"test-pr-check-2","full_name":"auto - test-pr-check-2","os":"ubuntu-24.04","env":{"ARTIFACTS_AWS_ACCESS_KEY_ID":"AKIA46X5W6CZN24CBO55","AWS_REGION":"us-west-1","CACHES_AWS_ACCESS_KEY_ID":"AKIA46X5W6CZI5DHEBFL","DEPLOY_BUCKET":"rust-lang-ci2","TOOLSTATE_PUBLISH":1},"continue_on_error":false,"free_disk":true},{"name":"test-tidy","full_name":"auto - test-tidy","os":"ubuntu-24.04","env":{"ARTIFACTS_AWS_ACCESS_KEY_ID":"AKIA46X5W6CZN24CBO55","AWS_REGION":"us-west-1","CACHES_AWS_ACCESS_KEY_ID":"AKIA46X5W6CZI5DHEBFL","DEPLOY_BUCKET":"rust-lang-ci2","TOOLSTATE_PUBLISH":1},"continue_on_error":false,"free_disk":true,"doc_url":"https://foo.bar"},{"name":"test-x86_64-gnu-llvm-18-1","full_name":"auto - test-x86_64-gnu-llvm-18-1","os":"ubuntu-24.04","env":{"ARTIFACTS_AWS_ACCESS_KEY_ID":"AKIA46X5W6CZN24CBO55","AWS_REGION":"us-west-1","CACHES_AWS_ACCESS_KEY_ID":"AKIA46X5W6CZI5DHEBFL","DEPLOY_BUCKET":"rust-lang-ci2","DOCKER_SCRIPT":"stage_2_test_set1.sh","IMAGE":"x86_64-gnu-llvm-18","READ_ONLY_SRC":"0","RUST_BACKTRACE":1,"TOOLSTATE_PUBLISH":1},"free_disk":true}] run_type=auto "#); } @@ -26,21 +26,21 @@ fn try_custom_jobs() { "push", r#"This is a test PR -try-job: aarch64-gnu +try-job: test-aarch64-gnu try-job: dist-i686-msvc"#, "refs/heads/automation/bors/try", ); - insta::assert_snapshot!(stdout, @r###" - jobs=[{"name":"aarch64-gnu","full_name":"try - aarch64-gnu","os":"ubuntu-22.04-arm","env":{"ARTIFACTS_AWS_ACCESS_KEY_ID":"AKIA46X5W6CZN24CBO55","AWS_REGION":"us-west-1","CACHES_AWS_ACCESS_KEY_ID":"AKIA46X5W6CZI5DHEBFL","DEPLOY_BUCKET":"rust-lang-ci2","TOOLSTATE_PUBLISH":1},"free_disk":true},{"name":"dist-i686-msvc","full_name":"try - dist-i686-msvc","os":"windows-2022","env":{"ARTIFACTS_AWS_ACCESS_KEY_ID":"AKIA46X5W6CZN24CBO55","AWS_REGION":"us-west-1","CACHES_AWS_ACCESS_KEY_ID":"AKIA46X5W6CZI5DHEBFL","CODEGEN_BACKENDS":"llvm,cranelift","DEPLOY_BUCKET":"rust-lang-ci2","DIST_REQUIRE_ALL_TOOLS":1,"RUST_CONFIGURE_ARGS":"--build=i686-pc-windows-msvc --host=i686-pc-windows-msvc --target=i686-pc-windows-msvc,i586-pc-windows-msvc --enable-full-tools --enable-profiler","SCRIPT":"python x.py dist bootstrap --include-default-paths","TOOLSTATE_PUBLISH":1}}] + insta::assert_snapshot!(stdout, @r#" + jobs=[{"name":"dist-i686-msvc","full_name":"try - dist-i686-msvc","os":"windows-2022","env":{"ARTIFACTS_AWS_ACCESS_KEY_ID":"AKIA46X5W6CZN24CBO55","AWS_REGION":"us-west-1","CACHES_AWS_ACCESS_KEY_ID":"AKIA46X5W6CZI5DHEBFL","CODEGEN_BACKENDS":"llvm,cranelift","DEPLOY_BUCKET":"rust-lang-ci2","DIST_REQUIRE_ALL_TOOLS":1,"RUST_CONFIGURE_ARGS":"--build=i686-pc-windows-msvc --host=i686-pc-windows-msvc --target=i686-pc-windows-msvc,i586-pc-windows-msvc --enable-full-tools --enable-profiler","SCRIPT":"python x.py dist bootstrap --include-default-paths","TOOLSTATE_PUBLISH":1}},{"name":"test-aarch64-gnu","full_name":"try - test-aarch64-gnu","os":"ubuntu-22.04-arm","env":{"ARTIFACTS_AWS_ACCESS_KEY_ID":"AKIA46X5W6CZN24CBO55","AWS_REGION":"us-west-1","CACHES_AWS_ACCESS_KEY_ID":"AKIA46X5W6CZI5DHEBFL","DEPLOY_BUCKET":"rust-lang-ci2","TOOLSTATE_PUBLISH":1},"free_disk":true}] run_type=try - "###); + "#); } #[test] fn pr_jobs() { let stdout = get_matrix("pull_request", "commit", "refs/heads/pr/1234"); insta::assert_snapshot!(stdout, @r#" - jobs=[{"name":"pr-check-1","full_name":"PR - pr-check-1","os":"ubuntu-24.04","env":{"PR_CI_JOB":1},"free_disk":true},{"name":"pr-check-2","full_name":"PR - pr-check-2","os":"ubuntu-24.04","env":{"PR_CI_JOB":1},"free_disk":true},{"name":"tidy","full_name":"PR - tidy","os":"ubuntu-24.04","env":{"PR_CI_JOB":1},"continue_on_error":true,"free_disk":true,"doc_url":"https://foo.bar"}] + jobs=[{"name":"test-pr-check-1","full_name":"PR - test-pr-check-1","os":"ubuntu-24.04","env":{"PR_CI_JOB":1},"free_disk":true},{"name":"test-pr-check-2","full_name":"PR - test-pr-check-2","os":"ubuntu-24.04","env":{"PR_CI_JOB":1},"free_disk":true},{"name":"test-tidy","full_name":"PR - test-tidy","os":"ubuntu-24.04","env":{"PR_CI_JOB":1},"continue_on_error":true,"free_disk":true,"doc_url":"https://foo.bar"}] run_type=pr "#); } diff --git a/src/ci/citool/tests/test-jobs.yml b/src/ci/citool/tests/test-jobs.yml index 4a249cb1e92b5..a1522fede3125 100644 --- a/src/ci/citool/tests/test-jobs.yml +++ b/src/ci/citool/tests/test-jobs.yml @@ -64,11 +64,11 @@ envs: # These jobs automatically inherit envs.pr, to avoid repeating # it in each job definition. pr: - - name: pr-check-1 + - name: test-pr-check-1 <<: *job-linux-4c - - name: pr-check-2 + - name: test-pr-check-2 <<: *job-linux-4c - - name: tidy + - name: test-tidy continue_on_error: true doc_url: https://foo.bar <<: *job-linux-4c @@ -86,12 +86,12 @@ try: # These jobs automatically inherit envs.auto, to avoid repeating # it in each job definition. auto: - - name: aarch64-gnu + - name: test-aarch64-gnu <<: *job-aarch64-linux # The x86_64-gnu-llvm-18 job is split into multiple jobs to run tests in parallel. # x86_64-gnu-llvm-18-1 skips tests that run in x86_64-gnu-llvm-18-{2,3}. - - name: x86_64-gnu-llvm-18-1 + - name: test-x86_64-gnu-llvm-18-1 env: RUST_BACKTRACE: 1 READ_ONLY_SRC: "0" @@ -104,7 +104,7 @@ auto: # macOS Builders # #################### - - name: aarch64-apple + - name: test-aarch64-apple env: SCRIPT: ./x.py --stage 2 test --host=aarch64-apple-darwin --target=aarch64-apple-darwin RUST_CONFIGURE_ARGS: >- From 017c9e089478379dc5cadb27021ebf6f36431519 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Ber=C3=A1nek?= Date: Sat, 5 Sep 2026 12:51:23 +0200 Subject: [PATCH 8/8] Fix `test-various` job name --- src/ci/github-actions/jobs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ci/github-actions/jobs.yml b/src/ci/github-actions/jobs.yml index d2ed66cee7061..61b40e1d39137 100644 --- a/src/ci/github-actions/jobs.yml +++ b/src/ci/github-actions/jobs.yml @@ -361,7 +361,7 @@ auto: free_disk: false <<: *job-linux-4c - - name: test-test-various + - name: test-various <<: *job-linux-4c # FIXME: temporarily disabled due to fuchsia server rate limits. See