forked from rust-lang/rustup
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path.travis.yml
158 lines (148 loc) · 5.35 KB
/
.travis.yml
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
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=i686-unknown-linux-gnu
DOCKER=alexcrichton/rust-slave-dist:2015-10-20b
- os: linux
env: TARGET=x86_64-unknown-linux-gnu
DOCKER=alexcrichton/rust-slave-dist:2015-10-20b
NO_ADD=1
ALLOW_PR=1
# 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
- os: linux
env: TARGET=arm-unknown-linux-gnueabi
DOCKER=alexcrichton/rust-slave-linux-cross:2016-11-11
SKIP_TESTS=1
- os: linux
env: TARGET=arm-unknown-linux-gnueabihf
DOCKER=alexcrichton/rust-slave-linux-cross:2016-11-11
SKIP_TESTS=1
- os: linux
env: TARGET=armv7-unknown-linux-gnueabihf
DOCKER=alexcrichton/rust-slave-linux-cross:2016-11-11
SKIP_TESTS=1
- os: linux
env: TARGET=aarch64-unknown-linux-gnu
DOCKER=alexcrichton/rust-slave-linux-cross:2016-11-11
SKIP_TESTS=1
- os: linux
env: TARGET=x86_64-unknown-freebsd
DOCKER=alexcrichton/rust-slave-linux-cross:2016-11-11
SKIP_TESTS=1
- os: linux
env: TARGET=x86_64-unknown-netbsd
DOCKER=alexcrichton/rust-slave-linux-cross:2016-11-11
SKIP_TESTS=1
- os: linux
env: TARGET=powerpc-unknown-linux-gnu
DOCKER=powerpc-unknown-linux-gnu
SKIP_TESTS=1
- os: linux
env: TARGET=powerpc64-unknown-linux-gnu
DOCKER=powerpc64-unknown-linux-gnu
SKIP_TESTS=1
- os: linux
env: TARGET=powerpc64le-unknown-linux-gnu
DOCKER=powerpc64le-unknown-linux-gnu
SKIP_TESTS=1
- os: linux
env: TARGET=mips-unknown-linux-gnu
DOCKER=mips-unknown-linux-gnu
SKIP_TESTS=1
- os: linux
env: TARGET=mipsel-unknown-linux-gnu
DOCKER=mipsel-unknown-linux-gnu
SKIP_TESTS=1
- os: linux
env: TARGET=mips64-unknown-linux-gnuabi64
DOCKER=mips64-unknown-linux-gnuabi64
SKIP_TESTS=1
- os: linux
env: TARGET=mips64el-unknown-linux-gnuabi64
DOCKER=mips64el-unknown-linux-gnuabi64
SKIP_TESTS=1
- os: linux
env: TARGET=s390x-unknown-linux-gnu
DOCKER=s390x-unknown-linux-gnu
SKIP_TESTS=1
# Android use a local docker image
- os: linux
env: TARGET=arm-linux-androideabi
DOCKER=android
SKIP_TESTS=1
- os: linux
env: TARGET=armv7-linux-androideabi
DOCKER=android
SKIP_TESTS=1
- os: linux
env: TARGET=aarch64-linux-android
DOCKER=android
SKIP_TESTS=1
- os: linux
env: TARGET=i686-linux-android
DOCKER=android
SKIP_TESTS=1
- os: linux
env: TARGET=x86_64-linux-android
DOCKER=android
SKIP_TESTS=1
# 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.
- os: osx
env: TARGET=i686-apple-darwin
MACOSX_DEPLOYMENT_TARGET=10.7
- os: osx
env: TARGET=x86_64-apple-darwin
MACOSX_DEPLOYMENT_TARGET=10.7
NO_ADD=1
cache:
# We're going to download things we don't necessarily want to cache into the `target` directory, so
# don't use travis's native `cargo` caching, which just grabs the whole folder.
directories:
- target/$TARGET/openssl/openssl-install
- target/release/deps
branches:
only:
- master
- stable
- auto
install:
- if [ -z "$NO_ADD" ]; then rustup target add $TARGET; fi
script:
- mkdir -p target/$TARGET;
- >
if [[ "$TRAVIS_PULL_REQUEST" != "false" && "$ALLOW_PR" != "1" ]]; then
echo 'skipping PR build';
elif [[ "$TRAVIS_BRANCH" == "master" && "$ALLOW_PR" != "1" ]]; then
echo 'skipping master build';
else
if [ ! -z "$DOCKER" ]; then
sh ci/build-run-docker.sh "$DOCKER" "$TARGET" "$SKIP_TESTS";
else
PATH=$HOME/rust/bin:$PATH sh ci/run.sh;
fi
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: AKIAJFCDPYKTBQVIFTDQ
secret_access_key:
secure: "fcKM0bWHz1UJVnZdQl/kCrFCykDkdwOAy1o5LAsUEkgNwSiWF4qC2sqHUbz2hCIe2tD5D8UCqa7brgSz0HNTL1yvSeOO/0Vim8xP9ev9SMf0Muekq0Wj/Kw4kJ3C4ajHdOdF2zXGnw9tsitzylLqx/r8cu0S8UtI49sIAWF3+/dD/uGnXu+wtaYiUJ1znirDzq74rHLrk8M/kQDFTrDJ8D+wXbKSJP9nmKkFShkW8A71QmaCOUqG3q7SpylY81rKRjHjtXCWJ3CHkD7XpdxdsImnukDtt8OndJH+9691TPKcR/RUC/dnUYg5QignmV83AN84c2/6ZykarQ9M/ziBYRI92bj0vPhoHu/vk2HY1VgWlX9qbXfVzd8glfmtS6be7eNYPtEHxoSu9o6WSbVaFv/07IapY/f7vE0kflvW58hRjdy8k4Sv31qPFO0hs7NFJMCRCam/uPpWKTEhfIjAJH6PoXOvND92ZHi9rjnwfVtXEClYtl5vPkRgPTkKJXzF+jVl9sDX1WhZhfgqRNNWEVyfoiptNxHygavDGCPsjpKVMmvntM8dsMZmewSeKemratN2seTP5q4d/IVbgONXiH/SDFhzXkIy4W/MdbxEjXBaVW0DT7x5k/CZhx1ZBIquWhE52nZWpBsJdpCiWl9AORDYVQnCjNp8hWXX7TlIBe4="
on:
branch: stable