forked from Smithay/smithay
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
150 lines (137 loc) · 4.18 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
language: rust
# We need this for the matrix, install is quick although unused
rust:
- stable
sudo: required
branches:
only:
- master
dist: trusty
# We cannot cache .vagga, because we actually do not have read permissions
# without sudo and travis cache script runs not as sudo...
cache:
directories:
- .vagga/stable-home
- .vagga/beta-home
- .vagga/nightly-home
- .vagga/.cache
addons:
apt:
packages:
- libcurl4-openssl-dev
- libelf-dev
- libdw-dev
env:
matrix:
- FEATURES=""
# test individual features
- FEATURES="backend_winit"
- FEATURES="backend_drm"
- FEATURES="backend_drm_legacy"
- FEATURES="backend_drm_gbm"
- FEATURES="backend_drm_egl"
- FEATURES="backend_egl"
- FEATURES="backend_libinput"
- FEATURES="backend_udev"
- FEATURES="backend_session"
- FEATURES="backend_session_logind"
- FEATURES="renderer_gl"
- FEATURES="renderer_glium"
- FEATURES="wayland_frontend"
- FEATURES="xwayland"
# test default features
- FEATURES="default"
# test all features simultaneously
- FEATURES="all"
# test our examples
- FEATURES="examples"
# test our house compositor
- FEATURES="anvil" ANVIL_FEATURES=""
- FEATURES="anvil" ANVIL_FEATURES="egl"
- FEATURES="anvil" ANVIL_FEATURES="winit"
- FEATURES="anvil" ANVIL_FEATURES="udev"
- FEATURES="anvil" ANVIL_FEATURES="logind"
- FEATURES="anvil" ANVIL_FEATURES="default"
- FEATURES="anvil" ANVIL_FEATURES="all"
matrix:
fast_finish: true
include:
# continue testing the full crate on beta&nightly to spot rustc regressions
- rust: beta
env: FEATURES="all"
- rust: beta
env: FEATURES="anvil" ANVIL_FEATURES="all"
- rust: nightly
env: FEATURES="all"
- rust: nightly
env: FEATURES="anvil" ANVIL_FEATURES="all"
# special features for lint & fmt
- rust: stable
env: FEATURES="cargo-fmt"
- rust: nightly
env: FEATURES="cargo-clippy"
allow_failures:
- rust: nightly
before_script:
- 'echo ubuntu-mirror: http://mirrors.us.kernel.org/ubuntu/ > ~/.vagga.yaml'
- 'echo alpine-mirror: http://mirrors.gigenet.com/alpinelinux/ >> ~/.vagga.yaml'
- |
echo "$(id -un):100000:65536" | sudo tee /etc/subuid | sudo tee /etc/subgid
sudo apt-get install uidmap -y
curl http://files.zerogw.com/vagga/vagga-install.sh | sh
- vagga update-$TRAVIS_RUST_VERSION
script:
- |
case $FEATURES in
"all")
vagga cargo-$TRAVIS_RUST_VERSION test --all-features &&
vagga cargo-$TRAVIS_RUST_VERSION doc --no-deps --all-features
;;
"default")
vagga cargo-$TRAVIS_RUST_VERSION test &&
vagga cargo-$TRAVIS_RUST_VERSION doc --no-deps
;;
"examples")
vagga cargo-$TRAVIS_RUST_VERSION check --examples
;;
"cargo-fmt")
vagga cargo-$TRAVIS_RUST_VERSION fmt --all -- --check
;;
"cargo-clippy")
vagga cargo-$TRAVIS_RUST_VERSION clippy --all-features -- -D warnings
;;
"anvil")
cd anvil
case $ANVIL_FEATURES in
"all")
vagga cargo-$TRAVIS_RUST_VERSION test --all-features
;;
"default")
vagga cargo-$TRAVIS_RUST_VERSION test
;;
*)
vagga cargo-$TRAVIS_RUST_VERSION check --no-default-features --features "$ANVIL_FEATURES"
esac
;;
*)
vagga cargo-$TRAVIS_RUST_VERSION check --tests --no-default-features --features "$FEATURES" &&
vagga cargo-$TRAVIS_RUST_VERSION doc --no-deps --no-default-features --features "$FEATURES"
esac
after_success:
- cp ./doc_index.html ./target/doc/index.html
deploy:
provider: pages
skip_cleanup: true
github_token: $GITHUB_TOKEN
local_dir: "./target/doc"
on:
branch: master
rust: nightly
condition: "$FEATURES = all"
notifications:
webhooks:
urls:
- "https://scalar.vector.im/api/neb/services/hooks/dHJhdmlzLWNpLyU0MGxldmFucyUzQXNhZmFyYWRlZy5uZXQvJTIxRkt4aGprSUNwakJWelZlQ2RGJTNBc2FmYXJhZGVnLm5ldA"
on_success: change
on_failure: always
on_start: never