]> git.lizzy.rs Git - rust.git/blob - src/ci/docker/host-x86_64/arm-android/Dockerfile
Enable downloading prebuilt LLVM in test builders
[rust.git] / src / ci / docker / host-x86_64 / arm-android / Dockerfile
1 FROM ubuntu:16.04
2
3 COPY scripts/android-base-apt-get.sh /scripts/
4 RUN sh /scripts/android-base-apt-get.sh
5
6 COPY scripts/android-ndk.sh /scripts/
7 RUN . /scripts/android-ndk.sh && \
8     download_and_make_toolchain android-ndk-r15c-linux-x86_64.zip arm 14
9
10 RUN dpkg --add-architecture i386 && \
11     apt-get update && \
12     apt-get install -y --no-install-recommends \
13   libgl1-mesa-glx \
14   libpulse0 \
15   libstdc++6:i386 \
16   openjdk-9-jre-headless \
17   tzdata \
18   wget \
19   python3
20
21 COPY scripts/android-sdk.sh /scripts/
22 COPY scripts/android-sdk-manager.py /scripts/
23 COPY host-x86_64/arm-android/android-sdk.lock /android/sdk/android-sdk.lock
24 RUN /scripts/android-sdk.sh
25
26 ENV PATH=$PATH:/android/sdk/emulator
27 ENV PATH=$PATH:/android/sdk/tools
28 ENV PATH=$PATH:/android/sdk/platform-tools
29
30 ENV TARGETS=arm-linux-androideabi
31
32 # We are intentionally allowing an old toolchain on this builder (and that's
33 # incompatible with LLVM downloads today).
34 ENV NO_DOWNLOAD_CI_LLVM 1
35
36 ENV RUST_CONFIGURE_ARGS --arm-linux-androideabi-ndk=/android/ndk/arm-14 \
37     --set llvm.allow-old-toolchain
38
39 ENV SCRIPT python3 ../x.py --stage 2 test --host='' --target $TARGETS
40
41 COPY scripts/sccache.sh /scripts/
42 RUN sh /scripts/sccache.sh
43
44 COPY scripts/cmake.sh /scripts/
45 RUN /scripts/cmake.sh
46
47 COPY scripts/android-start-emulator.sh /scripts/
48 ENTRYPOINT ["/scripts/android-start-emulator.sh"]