about summary refs log tree commit diff
path: root/src/ci/docker
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2019-01-31 11:07:41 +0000
committerbors <bors@rust-lang.org>2019-01-31 11:07:41 +0000
commitd30b99f9c23f8e1d6ef993cc94da96510ad709b3 (patch)
tree06c4c2ae28a7962efff74b5deda5f6df5443d7f0 /src/ci/docker
parentf40aaa68278ef0879af5fe7ce077c64c6515ea05 (diff)
parentb17c10de46b021cb25855d440b6a0c270d4d1f4e (diff)
downloadrust-d30b99f9c23f8e1d6ef993cc94da96510ad709b3.tar.gz
rust-d30b99f9c23f8e1d6ef993cc94da96510ad709b3.zip
Auto merge of #57514 - michaelwoerister:xlto-tests, r=alexcrichton
compiletest: Support opt-in Clang-based run-make tests and use them for testing xLTO.

Some cross-language run-make tests need a Clang compiler that matches the LLVM version of `rustc`. Since such a compiler usually isn't available these tests (marked with the `needs-matching-clang`
directive) are ignored by default.

For some CI jobs we do need these tests to run unconditionally though. In order to support this a `--force-clang-based-tests` flag is added to compiletest. If this flag is specified, `compiletest` will fail if it can't detect an appropriate version of Clang.

@rust-lang/infra The PR doesn't yet enable the tests yet. Do you have any recommendation for which jobs to enable them?

cc #57438

r? @alexcrichton
Diffstat (limited to 'src/ci/docker')
-rw-r--r--src/ci/docker/x86_64-gnu-debug/Dockerfile27
1 files changed, 23 insertions, 4 deletions
diff --git a/src/ci/docker/x86_64-gnu-debug/Dockerfile b/src/ci/docker/x86_64-gnu-debug/Dockerfile
index bdde7ad7fe8..1c7eff68adc 100644
--- a/src/ci/docker/x86_64-gnu-debug/Dockerfile
+++ b/src/ci/docker/x86_64-gnu-debug/Dockerfile
@@ -1,4 +1,4 @@
-FROM ubuntu:16.04
+FROM ubuntu:18.10
 
 RUN apt-get update && apt-get install -y --no-install-recommends \
   g++ \
@@ -7,18 +7,37 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
   curl \
   ca-certificates \
   python2.7 \
+  python2.7-dev \
+  libxml2-dev \
+  libncurses-dev \
+  libedit-dev \
+  swig \
+  doxygen \
   git \
   cmake \
   sudo \
   gdb \
-  xz-utils
+  xz-utils \
+  lld \
+  clang
 
 COPY scripts/sccache.sh /scripts/
 RUN sh /scripts/sccache.sh
 
+ENV RUSTBUILD_FORCE_CLANG_BASED_TESTS 1
 ENV RUN_CHECK_WITH_PARALLEL_QUERIES 1
+
 ENV RUST_CONFIGURE_ARGS \
       --build=x86_64-unknown-linux-gnu \
       --enable-debug \
-      --enable-optimize
-ENV SCRIPT python2.7 ../x.py build
+      --enable-lld \
+      --enable-lldb \
+      --enable-optimize \
+      --set llvm.use-linker=lld \
+      --set target.x86_64-unknown-linux-gnu.linker=clang \
+      --set target.x86_64-unknown-linux-gnu.cc=clang \
+      --set target.x86_64-unknown-linux-gnu.cxx=clang++
+
+ENV SCRIPT \
+  python2.7 ../x.py build && \
+  python2.7 ../x.py test src/test/run-make-fulldeps --test-args clang