forked from yoanlcq/vek
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
134 lines (117 loc) · 4.01 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
# Based on the "trust" template v0.1.1
# https://github.com/japaric/trust/tree/v0.1.1
language: rust
services: docker
sudo: required
env:
global:
- CRATE_NAME=vek
matrix:
include:
# Put these first because they supposedly take
# more time to setup and easy to fail.
# Commenting these until https://github.com/japaric/cross/issues/110
# is fixed.
#- env: TARGET=asmjs-unknown-emscripten
#- env: TARGET=asmjs-unknown-emscripten
# rust: nightly
#- env: TARGET=wasm32-unknown-emscripten
#- env: TARGET=wasm32-unknown-emscripten
# rust: nightly
# Linux
- env: TARGET=i686-unknown-linux-gnu
- env: TARGET=i686-unknown-linux-gnu
rust: nightly
# AVOID_DOC_TESTS is a hack to work around
# an existing issue (https://github.com/rust-lang/cargo/issues/4224)
# related to serde_derive and prevents tests from compiling.
- env: TARGET=x86_64-unknown-linux-gnu AVOID_DOC_TESTS=1
- env: TARGET=x86_64-unknown-linux-gnu AVOID_DOC_TESTS=1
rust: nightly
# Avoiding Mac machines because builds on them are sloooooow
# Besides i686 and x86_64 are already tested on Linux and Windows.
# OSX
#- env: TARGET=i686-apple-darwin
# os: osx
#- env: TARGET=x86_64-apple-darwin
# os: osx
# *BSD
#- env: TARGET=i686-unknown-freebsd DISABLE_TESTS=1
#- env: TARGET=x86_64-unknown-freebsd DISABLE_TESTS=1
#- env: TARGET=x86_64-unknown-netbsd DISABLE_TESTS=1
# Other architectures
#
# Commenting Android targets because even though they're
# supported, they fail at the end for obscure reasons.
#- env: TARGET=arm-linux-androideabi
#- env: TARGET=arm-linux-androideabi
# rust: nightly
#- env: TARGET=armv7-linux-androideabi
#- env: TARGET=armv7-linux-androideabi
# rust: nightly
#- env: TARGET=aarch64-linux-android
#- env: TARGET=aarch64-linux-android
# rust: nightly
# Some `no_std` target. `no_std` is nightly-only. Tests cannot work on no_std because the 'test' crate is not available.
- env: TARGET=thumbv7em-none-eabihf NO_STD=1 DISABLE_TESTS=1
rust: nightly
- env: TARGET=arm-unknown-linux-gnueabi
- env: TARGET=arm-unknown-linux-gnueabi
rust: nightly
# arm-unknown-linux-gnueabihf doesn't work with `cross`
#- env: TARGET=arm-unknown-linux-gnueabihf
#- env: TARGET=arm-unknown-linux-gnueabihf
# rust: nightly
- env: TARGET=armv7-unknown-linux-gnueabihf
- env: TARGET=armv7-unknown-linux-gnueabihf
rust: nightly
- env: TARGET=aarch64-unknown-linux-gnu
- env: TARGET=aarch64-unknown-linux-gnu
rust: nightly
# TODO: All of these platforms should be uncommented once
# we reach 1.0
#- env: TARGET=mips-unknown-linux-gnu
#- env: TARGET=mips-unknown-linux-gnu
# rust: nightly
#- env: TARGET=mips64-unknown-linux-gnuabi64
#- env: TARGET=mips64-unknown-linux-gnuabi64
# rust: nightly
#- env: TARGET=mips64el-unknown-linux-gnuabi64
#- env: TARGET=mips64el-unknown-linux-gnuabi64
# rust: nightly
#- env: TARGET=mipsel-unknown-linux-gnu
#- env: TARGET=mipsel-unknown-linux-gnu
# rust: nightly
#- env: TARGET=powerpc-unknown-linux-gnu
#- env: TARGET=powerpc-unknown-linux-gnu
# rust: nightly
#- env: TARGET=powerpc64-unknown-linux-gnu
#- env: TARGET=powerpc64-unknown-linux-gnu
# rust: nightly
#- env: TARGET=powerpc64le-unknown-linux-gnu
#- env: TARGET=powerpc64le-unknown-linux-gnu
# rust: nightly
#- env: TARGET=s390x-unknown-linux-gnu DISABLE_TESTS=1
#- env: TARGET=s390x-unknown-linux-gnu DISABLE_TESTS=1
# rust: nightly
before_install: set -e
install:
- sh ci/install.sh
- source ~/.cargo/env || true
script:
- bash ci/script.sh
after_script: set +e
before_deploy:
- sh ci/before_deploy.sh
cache: cargo
before_cache:
# Travis can't cache files that are not readable by "others"
- chmod -R a+r $HOME/.cargo
branches:
only:
# release tags
- /^v\d+\.\d+\.\d+.*$/
- master
notifications:
email:
on_success: never