forked from rust-lang/rustup
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.travis.yml
More file actions
86 lines (79 loc) · 3.38 KB
/
.travis.yml
File metadata and controls
86 lines (79 loc) · 3.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
sudo: required
dist: trusty
services:
- docker
language: rust
matrix:
include:
# Linux builds use the `rust-slave-dist` image so we link them against a
# "super old glibc" to ensure that it runs on as many platforms as possible.
- os: linux
env: TARGET=x86_64-unknown-linux-gnu NO_ADD=1
- &linux
os: linux
env: TARGET=i686-unknown-linux-gnu
if: branch != master
# Cross builds happen in the `rust-slave-linux-cross` image to ensure that
# we use the right cross compilers for these targets. That image should
# bundle all the gcc cross compilers to enable us to build OpenSSL
- { <<: *linux, env: SKIP_TESTS=1 TARGET=arm-unknown-linux-gnueabi }
- { <<: *linux, env: SKIP_TESTS=1 TARGET=arm-unknown-linux-gnueabihf }
- { <<: *linux, env: SKIP_TESTS=1 TARGET=armv7-unknown-linux-gnueabihf }
- { <<: *linux, env: SKIP_TESTS=1 TARGET=aarch64-unknown-linux-gnu }
- { <<: *linux, env: SKIP_TESTS=1 TARGET=x86_64-unknown-freebsd }
- { <<: *linux, env: SKIP_TESTS=1 TARGET=powerpc-unknown-linux-gnu }
- { <<: *linux, env: SKIP_TESTS=1 TARGET=powerpc64-unknown-linux-gnu }
- { <<: *linux, env: SKIP_TESTS=1 TARGET=powerpc64le-unknown-linux-gnu }
- { <<: *linux, env: SKIP_TESTS=1 TARGET=mips-unknown-linux-gnu }
- { <<: *linux, env: SKIP_TESTS=1 TARGET=mipsel-unknown-linux-gnu }
- { <<: *linux, env: SKIP_TESTS=1 TARGET=mips64-unknown-linux-gnuabi64 }
- { <<: *linux, env: SKIP_TESTS=1 TARGET=mips64el-unknown-linux-gnuabi64 }
- { <<: *linux, env: SKIP_TESTS=1 TARGET=s390x-unknown-linux-gnu }
- { <<: *linux, env: SKIP_TESTS=1 TARGET=arm-linux-androideabi }
- { <<: *linux, env: SKIP_TESTS=1 TARGET=armv7-linux-androideabi }
- { <<: *linux, env: SKIP_TESTS=1 TARGET=aarch64-linux-android }
- { <<: *linux, env: SKIP_TESTS=1 TARGET=i686-linux-android }
- { <<: *linux, env: SKIP_TESTS=1 TARGET=x86_64-linux-android }
# On OSX we want to target 10.7 so we ensure that the appropriate
# environment variable is set to tell the linker what we want.
#
# TODO: figure out why `xcode9.3`, the first image with OSX 10.13, breaks.
# Unclear why!
- &mac
os: osx
osx_image: xcode9.2
if: branch != master
env: MACOSX_DEPLOYMENT_TARGET=10.7 TARGET=i686-apple-darwin
- <<: *mac
env: MACOSX_DEPLOYMENT_TARGET=10.7 TARGET=x86_64-apple-darwin NO_ADD=1
install:
- if [ -z "$NO_ADD" ]; then rustup target add $TARGET; fi
- rustup component add rustfmt
script:
- mkdir -p target/$TARGET;
- >
case "$TARGET" in
*-linux-android) DOCKER=android ;; # Android uses a local docker image
*-linux-androideabi) DOCKER=android ;;
*-apple-darwin) ;;
*) DOCKER=$TARGET ;;
esac;
if [ -n "$DOCKER" ]; then
sh ci/build-run-docker.sh "$DOCKER" "$TARGET" "$SKIP_TESTS";
else
PATH="$HOME/rust/bin:$PATH" sh ci/run.sh;
fi
before_deploy:
- bash ci/prepare-deploy-travis.sh
deploy:
- provider: s3
bucket: dev-static-rust-lang-org
skip_cleanup: true
local_dir: deploy
upload_dir: rustup
acl: public_read
region: us-west-1
access_key_id: $AWS_ACCESS_KEY_ID
secret_access_key: $AWS_SECRET_ACCESS_KEY
on:
branch: stable