forked from rust-lang/rustup
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
146 lines (137 loc) · 5.66 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
sudo: required
dist: trusty
services:
- docker
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
# 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=alexcrichton/rust-slave-linux-cross:2016-11-11
SKIP_TESTS=1
- os: linux
env: TARGET=powerpc64-unknown-linux-gnu
DOCKER=alexcrichton/rust-slave-linux-cross:2016-11-11
SKIP_TESTS=1
- os: linux
env: TARGET=powerpc64le-unknown-linux-gnu
DOCKER=alexcrichton/rust-slave-linux-cross:2016-11-11
SKIP_TESTS=1
- os: linux
env: TARGET=mips-unknown-linux-gnu
DOCKER=alexcrichton/rust-slave-linux-cross:2016-11-11
SKIP_TESTS=1
- os: linux
env: TARGET=mipsel-unknown-linux-gnu
DOCKER=alexcrichton/rust-slave-linux-cross:2016-11-11
SKIP_TESTS=1
- os: linux
env: TARGET=mips64-unknown-linux-gnuabi64
DOCKER=alexcrichton/rust-slave-linux-cross:2016-11-11
SKIP_TESTS=1
- os: linux
env: TARGET=mips64el-unknown-linux-gnuabi64
DOCKER=alexcrichton/rust-slave-linux-cross:2016-11-11
SKIP_TESTS=1
- os: linux
env: TARGET=s390x-unknown-linux-gnu
DOCKER=alexcrichton/rust-slave-linux-cross:2016-11-11
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
branches:
only:
- master
- stable
- auto
notifications:
webhooks: http://buildbot.rust-lang.org/homu/travis
install:
- sudo pip install awscli
- aws configure set preview.cloudfront true
- curl https://static.rust-lang.org/rustup.sh |
sh -s -- --prefix=$HOME/rust --spec=nightly-2016-11-06 --with-target=$TARGET
script:
- mkdir target
- if [ ! -z "$DOCKER" ]; then
docker run
--entrypoint bash
-u `id -u`:`id -g`
-v $HOME/rust:/travis-rust:ro
-v `pwd`:/buildslave:ro
-v `pwd`/target:/buildslave/target
-e TARGET=$TARGET
-e SKIP_TESTS=$SKIP_TESTS
-it $DOCKER
ci/run-docker.sh;
else
PATH=$HOME/rust/bin:$PATH sh ci/run.sh;
fi
# Install kcov dependencies
# FIXME: busted!
#- if [ "$TARGET" == "x86_64-unknown-linux-gnu" ]; then
# wget https://github.com/SimonKagstrom/kcov/archive/master.tar.gz;
# tar xzf master.tar.gz && mkdir kcov-master/build && cd kcov-master/build && cmake .. && make;
# sudo make install && cd ../..;
# echo "Uploading coverage... $TRAVIS_JOB_ID";
# find target/debug/deps/*-* -executable -exec kcov --verify --coveralls-id=$TRAVIS_JOB_ID --exclude-pattern=/.cargo target/kcov '{}' \;;
# find target/debug/*-* -executable ! -name multirust-rs -exec kcov --verify --coveralls-id=$TRAVIS_JOB_ID --exclude-pattern=/.cargo target/kcov '{}' \;;
# fi
# prepare for a deploy if this will be a deployment
- 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: AKIAIZT5ZFS5N2VNRGPA
secret_access_key:
secure: "CGFWEhkk6siQxW24zJqlXRC4WLQPqXRJ5Rqa6rQNErotorRUn0DnPB+4zYW4KvMTDkv5pPwEv8P6b0IwbY8ZrS7ChfZ6t89xTvuklxsb8PlMwaDXWqkP5cCBT4B/e1S81xSI7ptkQ7Te5bcVbPMVE3MuGYtzhgIaYu+RZMLHSteY2TGnHid7ErmZKmvGoRqootEHYRo4Pv2s2ydZaalzrt8I5uGQPzesJc2T8xWS8VcFAGJTy4p59h5d6Btlo2a5L3Oc8kMLDzsxzwBbrNXQjF7oLZw7g1uf1A7iBrJGsv61GCnggl4+gtEt/BFQ8mtknBLXv3kXBfvrj35YnHAZosZWufSOgsQ9HB7ELjVhRhGRFX2BNKH1Gm/qM0j7WenD3vhOCTzMW21xqEvgY7+KIvyb9XLla7du/0/rZnDoBnCbZNpBOU5NqOV0y6MN6NDL5g168N7M30BeEEcJjbLEXtUTlCp/6jzZj3frDezJNJypniqwRfacf0yKNykVsnpqpcPmQfvxk2I/1BjdukLM5WifAgTEy9IG2/PBUIWr5ikAlhpACxmuKrlExJpOmZRMRjjRjI8tw8bSKu00SbeYT6PO0xazP9oJYKtWi5vkvM9U4R7udeYHTJFAMkeASpOO4Ss6f+dXQzm7OWqFu07Ffm9zHh+WX95PXonlzauEQ1I="
on:
branch: stable
# FIXME: I don't know if this really works
after_deploy:
- aws cloudfront create-invalidation --paths "rustup/$TARGET/* rustup/dev/$TARGET/* rustup/www/* rustup/dev/www/* rustup/* rustup/dev/*"