Skip to content

Commit

Permalink
Update the tools CI to use --no-fail-fast and --save-toolstates.
Browse files Browse the repository at this point in the history
  • Loading branch information
kennytm committed Dec 3, 2017
1 parent 971b1ba commit 1839645
Show file tree
Hide file tree
Showing 4 changed files with 47 additions and 14 deletions.
9 changes: 2 additions & 7 deletions appveyor.yml
Expand Up @@ -27,13 +27,8 @@ environment:

# MSVC tools tests
- MSYS_BITS: 64
SCRIPT: >
python x.py test --no-fail-fast
src/tools/rls
src/tools/rustfmt
src/tools/miri
src/tools/clippy
RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc
SCRIPT: src/ci/docker/x86_64-gnu-tools/checktools.sh x.py toolstates.json
RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --save-toolstates=toolstates.json

# 32/64-bit MinGW builds.
#
Expand Down
10 changes: 4 additions & 6 deletions src/ci/docker/x86_64-gnu-tools/Dockerfile
Expand Up @@ -17,9 +17,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
COPY scripts/sccache.sh /scripts/
RUN sh /scripts/sccache.sh

ENV RUST_CONFIGURE_ARGS --build=x86_64-unknown-linux-gnu
ENV SCRIPT python2.7 ../x.py --no-fail-fast \
src/tools/rls \
src/tools/rustfmt \
src/tools/miri \
src/tools/clippy
COPY x86_64-gnu-tools/checktools.sh /tmp/

ENV RUST_CONFIGURE_ARGS --build=x86_64-unknown-linux-gnu --save-toolstates=/tmp/toolstates.json
ENV SCRIPT /tmp/checktools.sh ../x.py /tmp/toolstates.json
39 changes: 39 additions & 0 deletions src/ci/docker/x86_64-gnu-tools/checktools.sh
@@ -0,0 +1,39 @@
#!/bin/sh

# Copyright 2017 The Rust Project Developers. See the COPYRIGHT
# file at the top-level directory of this distribution and at
# http://rust-lang.org/COPYRIGHT.
#
# Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
# http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
# <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
# option. This file may not be copied, modified, or distributed
# except according to those terms.

set -eu

X_PY="$1"
TOOLSTATE_FILE="$2"

touch "$TOOLSTATE_FILE"

set +e
python2.7 "$X_PY" test --no-fail-fast \
src/tools/rls \
src/tools/rustfmt \
src/tools/miri \
src/tools/clippy
TEST_RESULT=$?
set -e

# FIXME: Upload this file to the repository.
cat "$TOOLSTATE_FILE"

# FIXME: After we can properly inform dev-tool maintainers about failure,
# comment out the `exit 0` below.
if [ "$RUST_RELEASE_CHANNEL" = nightly ]; then
# exit 0
true
fi

exit $TEST_RESULT
3 changes: 2 additions & 1 deletion src/ci/run.sh
Expand Up @@ -42,8 +42,9 @@ fi
#
# FIXME: need a scheme for changing this `nightly` value to `beta` and `stable`
# either automatically or manually.
export RUST_RELEASE_CHANNEL=nightly
if [ "$DEPLOY$DEPLOY_ALT" != "" ]; then
RUST_CONFIGURE_ARGS="$RUST_CONFIGURE_ARGS --release-channel=nightly"
RUST_CONFIGURE_ARGS="$RUST_CONFIGURE_ARGS --release-channel=$RUST_RELEASE_CHANNEL"
RUST_CONFIGURE_ARGS="$RUST_CONFIGURE_ARGS --enable-llvm-static-stdcpp"

if [ "$NO_LLVM_ASSERTIONS" = "1" ]; then
Expand Down

0 comments on commit 1839645

Please sign in to comment.