]> git.proxmox.com Git - rustc.git/blob - src/ci/docker/host-x86_64/mingw-check/Dockerfile
New upstream version 1.65.0+dfsg1
[rustc.git] / src / ci / docker / host-x86_64 / mingw-check / Dockerfile
1 FROM ubuntu:18.04
2 # FIXME: when bumping the version, remove the Python 3.6-specific changes in
3 # the reuse-requirements.in file, regenerate reuse-requirements.txt and remove
4 # this comment.
5
6 RUN apt-get update && apt-get install -y --no-install-recommends \
7 g++ \
8 make \
9 ninja-build \
10 file \
11 curl \
12 ca-certificates \
13 python3 \
14 python3-pip \
15 python3-pkg-resources \
16 git \
17 cmake \
18 sudo \
19 gdb \
20 xz-utils \
21 libssl-dev \
22 pkg-config \
23 mingw-w64
24
25 RUN curl -sL https://nodejs.org/dist/v16.9.0/node-v16.9.0-linux-x64.tar.xz | tar -xJ
26 ENV PATH="/node-v16.9.0-linux-x64/bin:${PATH}"
27 # Install es-check
28 # Pin its version to prevent unrelated CI failures due to future es-check versions.
29 RUN npm install es-check@6.1.1 -g
30 RUN npm install eslint@8.6.0 -g
31
32 COPY scripts/sccache.sh /scripts/
33 RUN sh /scripts/sccache.sh
34
35 COPY host-x86_64/mingw-check/reuse-requirements.txt /tmp/
36 RUN pip3 install --no-deps --require-hashes -r /tmp/reuse-requirements.txt
37
38 COPY host-x86_64/mingw-check/validate-toolstate.sh /scripts/
39 COPY host-x86_64/mingw-check/validate-error-codes.sh /scripts/
40
41 ENV RUN_CHECK_WITH_PARALLEL_QUERIES 1
42 ENV SCRIPT python3 ../x.py --stage 2 test src/tools/expand-yaml-anchors && \
43 python3 ../x.py check --target=i686-pc-windows-gnu --host=i686-pc-windows-gnu --all-targets && \
44 python3 ../x.py build --stage 0 src/tools/build-manifest && \
45 python3 ../x.py test --stage 0 src/tools/compiletest && \
46 python3 ../x.py test --stage 2 src/tools/tidy && \
47 python3 ../x.py test --stage 0 core alloc std test proc_macro && \
48 # Build both public and internal documentation.
49 RUSTDOCFLAGS="--document-private-items" python3 ../x.py doc --stage 0 library/test && \
50 /scripts/validate-toolstate.sh && \
51 /scripts/validate-error-codes.sh && \
52 reuse lint && \
53 # Runs checks to ensure that there are no ES5 issues in our JS code.
54 es-check es6 ../src/librustdoc/html/static/js/*.js && \
55 eslint -c ../src/librustdoc/html/static/.eslintrc.js ../src/librustdoc/html/static/js/*.js