forked from rust-lang/cargo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
153 lines (141 loc) · 4.56 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
language: rust
rust: stable
sudo: required
dist: trusty
os: linux
services:
- docker
matrix:
include:
# stable linux builds, tested
- env: TARGET=x86_64-unknown-linux-gnu
ALT=i686-unknown-linux-gnu
IMAGE=dist
MAKE_TARGETS="test distcheck doc install uninstall"
- env: TARGET=i686-unknown-linux-gnu
IMAGE=dist
MAKE_TARGETS=test-unit-i686-unknown-linux-gnu
CFG_DISABLE_CROSS_TESTS=1
# stable osx builds, tested
- env: TARGET=x86_64-apple-darwin
ALT=i686-apple-darwin
MAKE_TARGETS="test distcheck doc install uninstall"
MACOSX_DEPLOYMENT_TARGET=10.7
os: osx
before_install:
- export OPENSSL_INCLUDE_DIR=`brew --prefix openssl`/include
- export OPENSSL_LIB_DIR=`brew --prefix openssl`/include
- env: TARGET=i686-apple-darwin
MAKE_TARGETS=test
MACOSX_DEPLOYMENT_TARGET=10.7
CFG_DISABLE_CROSS_TESTS=1
os: osx
before_install:
- export OPENSSL_INCLUDE_DIR=`brew --prefix openssl`/include
- export OPENSSL_LIB_DIR=`brew --prefix openssl`/include
# stable musl target, tested
- env: TARGET=x86_64-unknown-linux-musl
IMAGE=x86_64-musl
CFG_DISABLE_CROSS_TESTS=1
MAKE_TARGETS=test-unit-$TARGET
# cross compiled targets
- env: TARGET=arm-unknown-linux-gnueabi
IMAGE=cross
- env: TARGET=arm-unknown-linux-gnueabihf
IMAGE=cross
- env: TARGET=armv7-unknown-linux-gnueabihf
IMAGE=cross
- env: TARGET=aarch64-unknown-linux-gnu
IMAGE=cross
- env: TARGET=i686-unknown-freebsd
IMAGE=cross
- env: TARGET=x86_64-unknown-freebsd
IMAGE=cross
- env: TARGET=x86_64-unknown-netbsd
IMAGE=cross
- env: TARGET=mips-unknown-linux-gnu
IMAGE=cross
- env: TARGET=mipsel-unknown-linux-gnu
IMAGE=cross
- env: TARGET=mips64-unknown-linux-gnuabi64
IMAGE=cross
rust: nightly
- env: TARGET=mips64el-unknown-linux-gnuabi64
IMAGE=cross
rust: nightly
- env: TARGET=s390x-unknown-linux-gnu
IMAGE=cross
rust: nightly
- env: TARGET=powerpc-unknown-linux-gnu
IMAGE=cross
rust: beta
- env: TARGET=powerpc64-unknown-linux-gnu
IMAGE=cross
rust: beta
- env: TARGET=powerpc64le-unknown-linux-gnu
IMAGE=cross
rust: beta
# beta/nightly builds
- env: TARGET=x86_64-unknown-linux-gnu
ALT=i686-unknown-linux-gnu
IMAGE=dist
MAKE_TARGETS="test distcheck doc install uninstall"
DEPLOY=0
rust: beta
- env: TARGET=x86_64-unknown-linux-gnu
ALT=i686-unknown-linux-gnu
IMAGE=dist
MAKE_TARGETS="test distcheck doc install uninstall"
DEPLOY=0
rust: nightly
exclude:
- rust: stable
before_script:
- curl https://static.rust-lang.org/rustup.sh |
sh -s -- --add-target=$TARGET --disable-sudo -y --prefix=`rustc --print sysroot`
- if [ ! -z "$ALT" ]; then
curl https://static.rust-lang.org/rustup.sh |
sh -s -- --add-target=$ALT --disable-sudo -y --prefix=`rustc --print sysroot`;
fi
script:
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then
SRC=. src/ci/run.sh $TARGET;
else
src/ci/docker/run.sh $IMAGE $TARGET;
fi
after_success: |
[ $TRAVIS_BRANCH = master ] &&
[ $TRAVIS_PULL_REQUEST = false ] &&
[ $(uname -s) = Linux ] &&
pip install ghp-import --user $USER &&
$HOME/.local/bin/ghp-import -n target/doc &&
git push -qf https://${GH_TOKEN}@github.com/${TRAVIS_REPO_SLUG}.git gh-pages
env:
global:
- DEPLOY=1
- secure: LB2o9UL90Z4CVOLVQsTbZr7ZBLA1dCLxFODuCkPkbdqG3Kl5z1yMIPMRvSbjp9KwBlIgm+Mg0R1iqphKVq+rVP5zo96K4+kEQMG+zWsPb23ZKTxiL8MK5VgCZ7s9AONCvNeCTCNAG3EyeciFr5Zr9eygVCfo0WF6JsPujYYQZx0=
notifications:
email:
on_success: never
before_deploy:
- mkdir -p deploy/$TRAVIS_COMMIT
- cp target/$TARGET/release/dist/cargo-nightly-$TARGET.tar.gz
deploy/$TRAVIS_COMMIT
deploy:
- provider: s3
bucket: rust-lang-cargo-dev
skip_cleanup: true
local_dir: deploy
upload_dir: cargo-master
acl: public_read
region: us-west-1
access_key_id: AKIAJYHGN72KKCN4DFBQ
secret_access_key:
secure: wKKDMYBVTdWLuc7+ffpjTqJs1EdM2pXpV6keUfZGv9RLRta+esh/r/cgc+UQ7+m9JHAliH8eWhlMm5ws6WDgkTvM0PTdqWBgwd24BRbAitsXX2kWfi9WgAeSJVSkIJdZ999TRpRIJu7Zc+1++fbfdD/tDv5XBirQGOJv1HynVWY=
on:
branch: auto-cargo
condition: $DEPLOY = 1
cache:
directories:
- $HOME/.cargo
- target/openssl