]> git.lizzy.rs Git - rust.git/blob - src/ci/docker/host-x86_64/test-various/Dockerfile
Auto merge of #103556 - clubby789:specialize-option-partial-eq, r=scottmcm
[rust.git] / src / ci / docker / host-x86_64 / test-various / Dockerfile
1 FROM ubuntu:20.04
2
3 RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
4   clang-11 \
5   g++ \
6   make \
7   ninja-build \
8   file \
9   curl \
10   ca-certificates \
11   python3 \
12   git \
13   cmake \
14   sudo \
15   gdb \
16   libssl-dev \
17   pkg-config \
18   xz-utils \
19   wget \
20   patch \
21   ovmf \
22   qemu-system-x86
23
24 RUN curl -sL https://nodejs.org/dist/v15.14.0/node-v15.14.0-linux-x64.tar.xz | \
25   tar -xJ
26
27 WORKDIR /build/
28 COPY scripts/musl-patch-configure.diff /build/
29 COPY scripts/musl-toolchain.sh /build/
30 RUN bash musl-toolchain.sh x86_64 && rm -rf build
31 WORKDIR /
32
33 COPY scripts/sccache.sh /scripts/
34 RUN sh /scripts/sccache.sh
35
36 # We are disabling CI LLVM since this builder needs to build LLD, which is
37 # currently unsupported when downloading pre-built LLVM.
38 ENV NO_DOWNLOAD_CI_LLVM 1
39
40 ENV RUST_CONFIGURE_ARGS \
41   --musl-root-x86_64=/usr/local/x86_64-linux-musl \
42   --set build.nodejs=/node-v15.14.0-linux-x64/bin/node \
43   --set rust.lld
44
45 # Some run-make tests have assertions about code size, and enabling debug
46 # assertions in libstd causes the binary to be much bigger than it would
47 # otherwise normally be. We already test libstd with debug assertions in lots of
48 # other contexts as well
49 ENV NO_DEBUG_ASSERTIONS=1
50 ENV NO_OVERFLOW_CHECKS=1
51
52 ENV WASM_TARGETS=wasm32-unknown-unknown
53 ENV WASM_SCRIPT python3 /checkout/x.py --stage 2 test --host='' --target $WASM_TARGETS \
54   src/test/run-make \
55   src/test/ui \
56   src/test/mir-opt \
57   src/test/codegen-units \
58   library/core
59
60 ENV NVPTX_TARGETS=nvptx64-nvidia-cuda
61 ENV NVPTX_SCRIPT python3 /checkout/x.py --stage 2 test --host='' --target $NVPTX_TARGETS \
62   src/test/run-make \
63   src/test/assembly
64
65 ENV MUSL_TARGETS=x86_64-unknown-linux-musl \
66     CC_x86_64_unknown_linux_musl=x86_64-linux-musl-gcc \
67     CXX_x86_64_unknown_linux_musl=x86_64-linux-musl-g++
68 ENV MUSL_SCRIPT python3 /checkout/x.py --stage 2 test --host='' --target $MUSL_TARGETS
69
70 COPY host-x86_64/test-various/uefi_qemu_test /uefi_qemu_test
71 ENV UEFI_TARGETS=x86_64-unknown-uefi \
72     CC_x86_64_unknown_uefi=clang-11 \
73     CXX_x86_64_unknown_uefi=clang++-11
74 ENV UEFI_SCRIPT python3 /checkout/x.py --stage 2 build --host='' --target $UEFI_TARGETS && \
75   python3 -u /uefi_qemu_test/run.py
76
77 ENV SCRIPT $WASM_SCRIPT && $NVPTX_SCRIPT && $MUSL_SCRIPT && $UEFI_SCRIPT