forked from rust-lang/rustup
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
128 lines (118 loc) · 5.26 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
language: rust
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
rust: nightly
env: TARGET=i686-unknown-linux-gnu
DOCKER=alexcrichton/rust-slave-dist:2015-10-20b
- os: linux
rust: nightly
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
rust: nightly
env: TARGET=arm-unknown-linux-gnueabi
DOCKER=alexcrichton/rust-slave-linux-cross:2016-03-17b
SKIP_TESTS=1
- os: linux
rust: nightly
env: TARGET=arm-unknown-linux-gnueabihf
DOCKER=alexcrichton/rust-slave-linux-cross:2016-03-17b
SKIP_TESTS=1
- os: linux
rust: nightly
env: TARGET=armv7-unknown-linux-gnueabihf
DOCKER=alexcrichton/rust-slave-linux-cross:2016-03-17b
SKIP_TESTS=1
- os: linux
rust: nightly
env: TARGET=x86_64-unknown-freebsd
DOCKER=alexcrichton/rust-slave-linux-cross:2016-03-17b
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
rust: nightly
env: TARGET=i686-apple-darwin
MACOSX_DEPLOYMENT_TARGET=10.7
- os: osx
rust: nightly
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 --add-target=$TARGET
script:
- mkdir target
- if [ ! -z "$DOCKER" ]; then
docker run
--entrypoint bash
-u `id -u`:`id -g`
-v `rustc --print sysroot`:/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
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: master
- provider: s3
bucket: 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/*"