]> git.lizzy.rs Git - rust.git/blob - src/ci/docker/host-x86_64/mingw-check/Dockerfile
Rollup merge of #106670 - albertlarsan68:check-docs-in-pr-ci, r=Mark-Simulacrum
[rust.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   && rm -rf /var/lib/apt/lists/*
25
26 RUN curl -sL https://nodejs.org/dist/v16.9.0/node-v16.9.0-linux-x64.tar.xz | tar -xJ
27 ENV PATH="/node-v16.9.0-linux-x64/bin:${PATH}"
28 # Install es-check
29 # Pin its version to prevent unrelated CI failures due to future es-check versions.
30 RUN npm install es-check@6.1.1 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 --no-cache-dir --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 0 core alloc std test proc_macro && \
47            # Build both public and internal documentation.
48            RUSTDOCFLAGS=\"--document-private-items --document-hidden-items\" python3 ../x.py doc --stage 0 compiler && \
49            RUSTDOCFLAGS=\"--document-private-items --document-hidden-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