3 RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
25 && rm -rf /var/lib/apt/lists/*
27 RUN curl -sL https://nodejs.org/dist/v15.14.0/node-v15.14.0-linux-x64.tar.xz | \
30 # Install 32-bit OVMF files for the i686-unknown-uefi test. This package
31 # is not available in ubuntu 20.04, so download a 22.04 package.
32 RUN curl -sL --output ovmf-ia32.deb http://mirrors.kernel.org/ubuntu/pool/universe/e/edk2/ovmf-ia32_2022.02-3_all.deb
33 RUN dpkg -i ovmf-ia32.deb && rm ovmf-ia32.deb
36 COPY scripts/musl-patch-configure.diff /build/
37 COPY scripts/musl-toolchain.sh /build/
38 RUN bash musl-toolchain.sh x86_64 && rm -rf build
41 COPY scripts/sccache.sh /scripts/
42 RUN sh /scripts/sccache.sh
44 # We are disabling CI LLVM since this builder needs to build LLD, which is
45 # currently unsupported when downloading pre-built LLVM.
46 ENV NO_DOWNLOAD_CI_LLVM 1
48 ENV RUST_CONFIGURE_ARGS \
49 --musl-root-x86_64=/usr/local/x86_64-linux-musl \
50 --set build.nodejs=/node-v15.14.0-linux-x64/bin/node \
53 # Some run-make tests have assertions about code size, and enabling debug
54 # assertions in libstd causes the binary to be much bigger than it would
55 # otherwise normally be. We already test libstd with debug assertions in lots of
56 # other contexts as well
57 ENV NO_DEBUG_ASSERTIONS=1
58 ENV NO_OVERFLOW_CHECKS=1
60 ENV WASM_TARGETS=wasm32-unknown-unknown
61 ENV WASM_SCRIPT python3 /checkout/x.py --stage 2 test --host='' --target $WASM_TARGETS \
65 src/test/codegen-units \
68 ENV NVPTX_TARGETS=nvptx64-nvidia-cuda
69 ENV NVPTX_SCRIPT python3 /checkout/x.py --stage 2 test --host='' --target $NVPTX_TARGETS \
73 ENV MUSL_TARGETS=x86_64-unknown-linux-musl \
74 CC_x86_64_unknown_linux_musl=x86_64-linux-musl-gcc \
75 CXX_x86_64_unknown_linux_musl=x86_64-linux-musl-g++
76 ENV MUSL_SCRIPT python3 /checkout/x.py --stage 2 test --host='' --target $MUSL_TARGETS
78 COPY host-x86_64/test-various/uefi_qemu_test /uefi_qemu_test
79 ENV UEFI_TARGETS=aarch64-unknown-uefi,i686-unknown-uefi,x86_64-unknown-uefi \
80 CC_aarch64_unknown_uefi=clang-11 \
81 CXX_aarch64_unknown_uefi=clang++-11 \
82 CC_i686_unknown_uefi=clang-11 \
83 CXX_i686_unknown_uefi=clang++-11 \
84 CC_x86_64_unknown_uefi=clang-11 \
85 CXX_x86_64_unknown_uefi=clang++-11
86 ENV UEFI_SCRIPT python3 /checkout/x.py --stage 2 build --host='' --target $UEFI_TARGETS && \
87 python3 -u /uefi_qemu_test/run.py
89 ENV SCRIPT $WASM_SCRIPT && $NVPTX_SCRIPT && $MUSL_SCRIPT && $UEFI_SCRIPT