1language: rust
2
3matrix:
4  fast_finish: true
5  include:
6    # x86_64-unknown-linux-gnu
7    - name: "x86_64-unknown-linux-gnu - fail"
8      env: TARGET=x86_64-unknown-linux-gnu
9      os: linux
10      rust: nightly
11      install: true
12      script: ./ci/build_fail.sh
13
14    # x86_64-apple-darwin
15    - name: "x86_64-apple-darwin - Rust stable 1.33.0 - xcode10"
16      env: TARGET=x86_64-apple-darwin
17      rust: 1.33.0
18      os: osx
19      osx_image: xcode10
20      install: true
21    - name: "x86_64-apple-darwin - Rust beta - xcode10"
22      env: TARGET=x86_64-apple-darwin
23      rust: beta
24      os: osx
25      osx_image: xcode10
26      install: true
27    - name: "x86_64-apple-darwin - Rust nightly - xcode10"
28      env: TARGET=x86_64-apple-darwin
29      rust: nightly
30      os: osx
31      osx_image: xcode10
32      install: true
33    - name: "x86_64-apple-darwin - Rust nightly - xcode9.4"
34      env: TARGET=x86_64-apple-darwin
35      rust: nightly
36      os: osx
37      osx_image: xcode9.4
38      install: true
39    - name: "x86_64-apple-darwin - Rust nightly - xcode8.3"
40      env: TARGET=x86_64-apple-darwin
41      rust: nightly
42      os: osx
43      osx_image: xcode8.3
44      install: true
45    - name: "x86_64-apple-darwin - Rust nightly - xcode7.3"
46      env: TARGET=x86_64-apple-darwin
47      rust: nightly
48      os: osx
49      osx_image: xcode7.3
50      install: true
51    - name: "x86_64-apple-darwin - Rust nightly - xcode6.4"
52      env: TARGET=x86_64-apple-darwin
53      rust: nightly
54      os: osx
55      osx_image: xcode6.4
56      install: true
57
58    # i686-apple-darwin
59    - name: "i686-apple-darwin - Rust stable 1.33.0 - xcode10"
60      env: TARGET=i686-apple-darwin
61      rust: 1.33.0
62      os: osx
63      osx_image: xcode10
64    - name: "i686-apple-darwin - Rust beta - xcode10"
65      env: TARGET=i686-apple-darwin
66      rust: beta
67      os: osx
68      osx_image: xcode10
69    - name: "i686-apple-darwin - Rust nightly - xcode10"
70      env: TARGET=i686-apple-darwin
71      rust: nightly
72      os: osx
73      osx_image: xcode10
74    - name: "i686-apple-darwin - Rust nightly - xcode9.4"
75      env: TARGET=i686-apple-darwin
76      rust: nightly
77      os: osx
78      osx_image: xcode9.4
79    - name: "i686-apple-darwin - Rust nightly - xcode8.3"
80      env: TARGET=i686-apple-darwin
81      rust: nightly
82      os: osx
83      osx_image: xcode8.3
84    - name: "i686-apple-darwin - Rust nightly - xcode7.3"
85      env: TARGET=i686-apple-darwin
86      rust: nightly
87      os: osx
88      osx_image: xcode7.3
89    - name: "i686-apple-darwin - Rust nightly - xcode6.4"
90      env: TARGET=i686-apple-darwin
91      rust: nightly
92      os: osx
93      osx_image: xcode6.4
94
95    # x86_64-apple-ios
96    - name: "x86_64-apple-ios - Rust stable 1.33.0 - xcode10 - no run/ffi tests"
97      env: TARGET=x86_64-apple-ios NORUN=1 NOCTEST=1
98      rust: 1.33.0
99      os: osx
100      osx_image: xcode10
101    - name: "x86_64-apple-ios - Rust beta - xcode10 - no run/ffi tests"
102      env: TARGET=x86_64-apple-ios NORUN=1 NOCTEST=1
103      rust: beta
104      os: osx
105      osx_image: xcode10
106    - name: "x86_64-apple-ios - Rust nightly - xcode10 - no run/ffi tests"
107      env: TARGET=x86_64-apple-ios NORUN=1 NOCTEST=1
108      rust: nightly
109      os: osx
110      osx_image: xcode10
111    - name: "x86_64-apple-ios - Rust nightly - xcode9.4 - no run/ffi tests"
112      env: TARGET=x86_64-apple-ios NORUN=1 NOCTEST=1
113      rust: nightly
114      os: osx
115      osx_image: xcode9.4
116    - name: "x86_64-apple-ios - Rust nightly - xcode8.3 - no run/ffi tests"
117      env: TARGET=x86_64-apple-ios NORUN=1 NOCTEST=1
118      rust: nightly
119      os: osx
120      osx_image: xcode8.3
121    - name: "x86_64-apple-ios - Rust nightly - xcode7.3 - no run/ffi tests"
122      env: TARGET=x86_64-apple-ios NORUN=1 NOCTEST=1
123      rust: nightly
124      os: osx
125      osx_image: xcode7.3
126    - name: "x86_64-apple-ios - Rust nightly - xcode6.4 - no run/ffi tests"
127      env: TARGET=x86_64-apple-ios NORUN=1 NOCTEST=1
128      rust: nightly
129      os: osx
130      osx_image: xcode6.4
131
132    # i386-apple-ios (deprecated in xcode10)
133    - name: "i386-apple-ios - Rust stable 1.33.0 - xcode9.4 - no run/ffi tests"
134      env: TARGET=i386-apple-ios NORUN=1 NOCTEST=1
135      rust: 1.33.0
136      os: osx
137      osx_image: xcode9.4
138    - name: "i386-apple-ios - Rust beta - xcode9.4 - no run/ffi tests"
139      env: TARGET=i386-apple-ios NORUN=1 NOCTEST=1
140      rust: beta
141      os: osx
142      osx_image: xcode9.4
143    - name: "i386-apple-ios - Rust nightly - xcode9.4 - no run/ffi tests"
144      env: TARGET=i386-apple-ios NORUN=1 NOCTEST=1
145      rust: nightly
146      os: osx
147      osx_image: xcode9.4
148    - name: "i386-apple-ios - Rust nightly - xcode8.3 - no run/ffi tests"
149      env: TARGET=i386-apple-ios NORUN=1 NOCTEST=1
150      rust: nightly
151      os: osx
152      osx_image: xcode8.3
153    - name: "i386-apple-ios - Rust nightly - xcode7.3 - no run/ffi tests"
154      env: TARGET=i386-apple-ios NORUN=1 NOCTEST=1
155      rust: nightly
156      os: osx
157      osx_image: xcode7.3
158    - name: "i386-apple-ios - Rust nightly - xcode6.4 - no run/ffi tests"
159      env: TARGET=i386-apple-ios NORUN=1 NOCTEST=1
160      rust: nightly
161      os: osx
162      osx_image: xcode6.4
163
164    # aarch64-apple-ios
165    - name: "aarch64-apple-ios - Rust stable 1.33.0 - xcode10 - no run/ffi tests"
166      env: TARGET=aarch64-apple-ios NORUN=1 NOCTEST=1
167      rust: 1.33.0
168      os: osx
169      osx_image: xcode10
170    - name: "aarch64-apple-ios - Rust beta - xcode10 - no run/ffi tests"
171      env: TARGET=aarch64-apple-ios NORUN=1 NOCTEST=1
172      rust: beta
173      os: osx
174      osx_image: xcode10
175    - name: "aarch64-apple-ios - Rust nightly - xcode10 - no run/ffi tests"
176      env: TARGET=aarch64-apple-ios NORUN=1 NOCTEST=1
177      rust: nightly
178      os: osx
179      osx_image: xcode10
180    - name: "aarch64-apple-ios - Rust nightly - xcode9.4 - no run/ffi tests"
181      env: TARGET=aarch64-apple-ios NORUN=1 NOCTEST=1
182      rust: nightly
183      os: osx
184      osx_image: xcode9.4
185    - name: "aarch64-apple-ios - Rust nightly - xcode8.3 - no run/ffi tests"
186      env: TARGET=aarch64-apple-ios NORUN=1 NOCTEST=1
187      rust: nightly
188      os: osx
189      osx_image: xcode8.3
190    - name: "aarch64-apple-ios - Rust nightly - xcode7.3 - no run/ffi tests"
191      env: TARGET=aarch64-apple-ios NORUN=1 NOCTEST=1
192      rust: nightly
193      os: osx
194      osx_image: xcode7.3
195    - name: "aarch64-apple-ios - Rust nightly - xcode6.4 - no run/ffi tests"
196      env: TARGET=aarch64-apple-ios NORUN=1 NOCTEST=1
197      rust: nightly
198      os: osx
199      osx_image: xcode6.4
200
201    # armv7-apple-ios
202    - name: "armv7-apple-ios - Rust stable 1.33.0 - xcode10 - no run/ffi tests"
203      env: TARGET=armv7-apple-ios NORUN=1 NOCTEST=1
204      rust: 1.33.0
205      os: osx
206      osx_image: xcode10
207    - name: "armv7-apple-ios - Rust beta - xcode10 - no run/ffi tests"
208      env: TARGET=armv7-apple-ios NORUN=1 NOCTEST=1
209      rust: beta
210      os: osx
211      osx_image: xcode10
212    - name: "armv7-apple-ios - Rust nightly - xcode10 - no run/ffi tests"
213      env: TARGET=armv7-apple-ios NORUN=1 NOCTEST=1
214      rust: nightly
215      os: osx
216      osx_image: xcode10
217    - name: "armv7-apple-ios - Rust nightly - xcode9.4 - no run/ffi tests"
218      env: TARGET=armv7-apple-ios NORUN=1 NOCTEST=1
219      rust: nightly
220      os: osx
221      osx_image: xcode9.4
222    - name: "armv7-apple-ios - Rust nightly - xcode8.3 - no run/ffi tests"
223      env: TARGET=armv7-apple-ios NORUN=1 NOCTEST=1
224      rust: nightly
225      os: osx
226      osx_image: xcode8.3
227    - name: "armv7-apple-ios - Rust nightly - xcode7.3 - no run/ffi tests"
228      env: TARGET=armv7-apple-ios NORUN=1 NOCTEST=1
229      rust: nightly
230      os: osx
231      osx_image: xcode7.3
232    - name: "armv7-apple-ios - Rust nightly - xcode6.4 - no run/ffi tests"
233      env: TARGET=armv7-apple-ios NORUN=1 NOCTEST=1
234      rust: nightly
235      os: osx
236      osx_image: xcode6.4
237
238    # Tooling
239    - name: "rustfmt"
240      rust: nightly
241      os: osx
242      osx_image: xcode10
243      install: rustup component add rustfmt-preview
244      script: cargo fmt --all -- --check
245    - name: "clippy"
246      rust: nightly
247      os: osx
248      osx_image: xcode10
249      install: rustup component add clippy-preview
250      script:
251        - cargo clippy --all -- -D clippy::pedantic
252        - cargo clippy --all --features=unstable -- -D clippy::pedantic
253    - name: "Shellcheck"
254      install: true
255      script:
256        - shellcheck --version
257        - shellcheck ci/*.sh
258
259install: rustup target add "${TARGET}"
260script: ci/run.sh
261