1
1
name : ci
2
2
3
- env :
4
- CARGO_TERM_COLOR : always
5
- CLICOLOR : 1
6
-
7
3
on :
8
4
push :
9
5
branches :
17
13
- main
18
14
workflow_dispatch :
19
15
16
+ env :
17
+ CARGO_TERM_COLOR : always
18
+ CLICOLOR : 1
19
+
20
20
jobs :
21
21
pure-rust-build :
22
22
runs-on : ubuntu-latest
23
+
23
24
container : debian:stable-slim
25
+
24
26
steps :
25
27
- uses : actions/checkout@v4
26
28
- name : Prerequisites
@@ -47,13 +49,13 @@ jobs:
47
49
48
50
test :
49
51
runs-on : ubuntu-latest
52
+
50
53
steps :
51
54
- uses : actions/checkout@v4
52
55
- uses : dtolnay/rust-toolchain@stable
53
56
- uses : Swatinem/rust-cache@v2
54
57
- name : Setup dependencies
55
- run :
56
- sudo apt-get install -y --no-install-recommends liblzma-dev tree
58
+ run : sudo apt-get install -y --no-install-recommends liblzma-dev tree
57
59
- uses : extractions/setup-just@v2
58
60
- uses : taiki-e/install-action@v2
59
61
with :
71
73
- windows-latest
72
74
- macos-latest
73
75
- ubuntu-latest
76
+
74
77
runs-on : ${{ matrix.os }}
78
+
75
79
steps :
76
80
- uses : actions/checkout@v4
77
81
- uses : dtolnay/rust-toolchain@stable
97
101
98
102
test-fixtures-windows :
99
103
runs-on : windows-latest
104
+
100
105
steps :
101
106
- uses : actions/checkout@v4
102
107
- uses : dtolnay/rust-toolchain@stable
@@ -133,9 +138,11 @@ jobs:
133
138
134
139
test-32bit :
135
140
runs-on : ubuntu-latest
141
+
136
142
strategy :
137
143
matrix :
138
144
target : [ armv7-linux-androideabi ]
145
+
139
146
steps :
140
147
- uses : actions/checkout@v4
141
148
- uses : dtolnay/rust-toolchain@stable
@@ -157,6 +164,7 @@ jobs:
157
164
158
165
lint :
159
166
runs-on : ubuntu-latest
167
+
160
168
steps :
161
169
- uses : actions/checkout@v4
162
170
- uses : dtolnay/rust-toolchain@master
@@ -181,6 +189,7 @@ jobs:
181
189
182
190
cargo-deny :
183
191
runs-on : ubuntu-latest
192
+
184
193
strategy :
185
194
matrix :
186
195
checks :
@@ -198,11 +207,15 @@ jobs:
198
207
199
208
wasm :
200
209
name : WebAssembly
210
+
201
211
runs-on : ubuntu-latest
212
+
202
213
continue-on-error : true
214
+
203
215
strategy :
204
216
matrix :
205
217
target : [ wasm32-unknown-unknown, wasm32-wasi ]
218
+
206
219
steps :
207
220
- uses : actions/checkout@master
208
221
- name : Install Rust
@@ -230,10 +243,13 @@ jobs:
230
243
# However, when changes are made to `etc/copy-packetline.sh`, re-enable the other platforms for testing.
231
244
# - macos-latest
232
245
# - windows-latest
246
+
233
247
runs-on : ${{ matrix.os }}
248
+
234
249
defaults :
235
250
run :
236
251
shell : bash
252
+
237
253
steps :
238
254
- uses : actions/checkout@v4
239
255
- name : Check that working tree is initially clean
@@ -252,6 +268,7 @@ jobs:
252
268
# Dummy job to have a stable name for the "all tests pass" requirement
253
269
tests-pass :
254
270
name : Tests pass
271
+
255
272
needs :
256
273
- pure-rust-build
257
274
- test
@@ -261,8 +278,11 @@ jobs:
261
278
- cargo-deny
262
279
- wasm
263
280
- check-packetline
281
+
264
282
if : always() # always run even if dependencies fail
283
+
265
284
runs-on : ubuntu-latest
285
+
266
286
steps :
267
287
# fail if ANY dependency has failed or cancelled
268
288
- if : " contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled')"
0 commit comments