|
1 | 1 | #!/bin/bash
|
2 | 2 |
|
3 | 3 | script_dir=$(cd "$(dirname "$0")" && pwd)
|
4 |
| -. "$script_dir/shared.sh" |
| 4 | +root_dir="${script_dir}/.." |
| 5 | + |
| 6 | +. "${script_dir}/shared.sh" |
5 | 7 |
|
6 | 8 | set -e
|
7 | 9 | # Disable cause it makes shared script not to work properly
|
8 | 10 | #set -x
|
9 | 11 |
|
10 | 12 | mkdir -p target
|
| 13 | +mkdir -p "${HOME}"/.cargo |
| 14 | +mkdir -p "${HOME}"/.cache/sccache |
11 | 15 |
|
12 | 16 | DOCKER="$1"
|
13 | 17 | TARGET="$2"
|
14 | 18 | SKIP_TESTS="$3"
|
15 | 19 |
|
16 | 20 | travis_fold start "fetch.image.${TARGET}"
|
17 | 21 | travis_time_start
|
18 |
| -travis_do_cmd sh ci/fetch-rust-docker.sh "$TARGET" |
| 22 | +travis_do_cmd sh ci/fetch-rust-docker.sh "${TARGET}" |
19 | 23 | travis_time_finish
|
20 | 24 | travis_fold end "fetch.image.${TARGET}"
|
21 | 25 |
|
22 | 26 | if [ -f "ci/docker/$DOCKER/Dockerfile" ]; then
|
23 | 27 | travis_fold start "build.Dockerfile.${DOCKER}"
|
24 | 28 | travis_time_start
|
25 |
| - travis_do_cmd docker build -t "$DOCKER" "ci/docker/$DOCKER/" |
| 29 | + travis_do_cmd docker build -t "$DOCKER" "ci/docker/${DOCKER}/" |
26 | 30 | travis_time_finish
|
27 | 31 | travis_fold end "build.Dockerfile.${DOCKER}"
|
28 | 32 | fi
|
|
31 | 35 | docker run \
|
32 | 36 | --entrypoint sh \
|
33 | 37 | --user "$(id -u)":"$(id -g)" \
|
34 |
| - --volume "$(rustc --print sysroot)":/travis-rust:ro \ |
35 |
| - --volume "$(pwd)":/src:ro \ |
36 |
| - --volume "$(pwd)"/target:/src/target \ |
37 |
| - --workdir /src \ |
38 |
| - --env TARGET="$TARGET" \ |
39 |
| - --env SKIP_TESTS="$SKIP_TESTS" \ |
40 |
| - --env CARGO_HOME=/src/target/cargo-home \ |
41 |
| - --env CARGO_TARGET_DIR=/src/target \ |
| 38 | + --volume "$(rustc --print sysroot)":/rustc-sysroot:ro \ |
| 39 | + --volume "${root_dir}":/checkout:ro \ |
| 40 | + --volume "${root_dir}"/target:/checkout/target \ |
| 41 | + --workdir /checkout \ |
| 42 | + --env TARGET="${TARGET}" \ |
| 43 | + --env SKIP_TESTS="${SKIP_TESTS}" \ |
| 44 | + --volume "${HOME}/.cargo:/cargo" \ |
| 45 | + --env CARGO_HOME=/cargo \ |
| 46 | + --env CARGO_TARGET_DIR=/checkout/target \ |
42 | 47 | --env LIBZ_SYS_STATIC=1 \
|
| 48 | + --volume "${HOME}"/.cache/sccache:/sccache \ |
| 49 | + --env SCCACHE_DIR=/sccache \ |
| 50 | + --env RUSTC_WRAPPER=sccache \ |
43 | 51 | --tty \
|
44 | 52 | --init \
|
45 |
| - "$DOCKER" \ |
46 |
| - -c 'PATH="$PATH":/travis-rust/bin exec sh ci/run.sh' |
| 53 | + --rm \ |
| 54 | + "${DOCKER}" \ |
| 55 | + -c 'PATH="${PATH}":/rustc-sysroot/bin sh ci/run.sh' |
47 | 56 |
|
48 | 57 | # check that rustup-init was built with ssl support
|
49 | 58 | # see https://github.com/rust-lang/rustup.rs/issues/1051
|
50 |
| -if ! (nm target/"$TARGET"/release/rustup-init | grep -q Curl_ssl_version); then |
| 59 | +if ! (nm target/"${TARGET}"/release/rustup-init | grep -q Curl_ssl_version); then |
51 | 60 | echo "Missing ssl support!!!!" >&2
|
52 | 61 | exit 1
|
53 | 62 | fi
|
0 commit comments