20
20
steps :
21
21
- uses : actions/checkout@v3
22
22
with :
23
- submodules : true
24
-
23
+ submodules : ' recursive'
25
24
-
uses :
actions-rs/[email protected]
26
25
id : toolchain
27
26
with :
@@ -40,39 +39,43 @@ jobs:
40
39
runs-on : ubuntu-latest
41
40
strategy :
42
41
fail-fast : false
42
+ matrix :
43
+ crate_dir : [ "aws-lc-sys", "aws-lc-fips-sys", "aws-lc-rust" ]
44
+ features :
45
+ - " "
46
+ - " --features fips"
47
+ exclude :
48
+ - crate_dir : aws-lc-sys
49
+ features : " --features fips"
50
+ - crate_dir : aws-lc-fips-sys
51
+ features : " --features fips"
43
52
steps :
44
53
- uses : actions/checkout@v3
54
+ with :
55
+ submodules : ' recursive'
45
56
-
uses :
actions-rs/[email protected]
46
57
id : toolchain
47
58
with :
48
59
toolchain : ${{ env.RUST_NIGHTLY_TOOLCHAIN }}
49
60
profile : minimal
50
61
override : true
51
62
components : clippy
52
-
53
63
- name : Run cargo clippy
54
- uses :
actions-rs/[email protected]
55
- with :
56
- command : clippy
57
- args : --all-targets -- -W clippy::all -W clippy::pedantic -D warnings
58
-
59
- - name : Run cargo clippy on fips
60
- uses :
actions-rs/[email protected]
61
- env :
62
- CC : clang
63
- CXX : clang++
64
- with :
65
- command : clippy
66
- args : --features fips --all-targets -- -W clippy::all -W clippy::pedantic -D warnings
64
+ working-directory : ${{ matrix.crate_dir }}
65
+ run : cargo clippy ${{ matrix.features }} --all-targets -- -W clippy::all -W clippy::pedantic -D warnings
67
66
68
67
apidiff :
69
68
runs-on : ubuntu-latest
70
69
strategy :
71
70
fail-fast : false
71
+ matrix :
72
+ crate_dir : [ "aws-lc-sys", "aws-lc-fips-sys", "aws-lc-rust" ]
73
+ diff_target : [ "branch", "published" ]
72
74
steps :
73
75
- uses : actions/checkout@v3
74
76
with :
75
77
fetch-depth : 0
78
+ submodules : ' recursive'
76
79
-
uses :
actions-rs/[email protected]
77
80
id : toolchain
78
81
with :
@@ -84,21 +87,33 @@ jobs:
84
87
with :
85
88
command : install
86
89
args : cargo-public-api
87
- - name : Perform API Diff
90
+ - name : Install rust-script
88
91
uses :
actions-rs/[email protected]
89
92
with :
90
- command : public-api
91
- args : diff --deny changed --deny removed ${{ github.event.pull_request.base.sha }}..${{ github.event.pull_request.head.sha }}
92
-
93
- # dependency-review:
94
- # runs-on: ubuntu-latest
95
- # steps:
96
- # - name: 'Checkout Repository'
97
- # uses: actions/checkout@v3
98
- # - name: 'Dependency Review'
99
- # uses: actions/dependency-review-action@v3
100
- # with:
101
- # allow-licenses: Apache-2.0, ISC, MIT, MIT-0
93
+ command : install
94
+ args : rust-script
95
+ - name : Perform API Diff (Target Branch)
96
+ if : matrix.diff_target == 'branch'
97
+ working-directory : ${{ matrix.crate_dir }}
98
+ run : cargo public-api diff --deny changed --deny removed ${{ github.event.pull_request.base.sha }}..${{ github.event.pull_request.head.sha }}
99
+ - name : Perform API Diff (Published)
100
+ if : matrix.diff_target == 'published'
101
+ working-directory : ${{ matrix.crate_dir }}
102
+ shell : bash
103
+ run : |
104
+ CRATE_NAME=$("${GITHUB_WORKSPACE}"/scripts/tools/cargo-dig.rs -n)
105
+ CRATE_VERSION=$(cargo search --limit 1 ${CRATE_NAME} | head -n 1 | sed -e 's/[^"]*"\([^"]*\)".*/\1/')
106
+ cargo public-api diff --deny changed --deny removed "${CRATE_VERSION}"
107
+
108
+ # dependency-review:
109
+ # runs-on: ubuntu-latest
110
+ # steps:
111
+ # - name: 'Checkout Repository'
112
+ # uses: actions/checkout@v3
113
+ # - name: 'Dependency Review'
114
+ # uses: actions/dependency-review-action@v3
115
+ # with:
116
+ # allow-licenses: Apache-2.0, ISC, MIT, MIT-0
102
117
103
118
# This step won't be needed once "dependency-review" is enabled
104
119
audit :
@@ -109,6 +124,7 @@ jobs:
109
124
- uses : actions/checkout@v3
110
125
with :
111
126
fetch-depth : 0
127
+ submodules : ' recursive'
112
128
-
uses :
actions-rs/[email protected]
113
129
id : toolchain
114
130
with :
@@ -134,6 +150,7 @@ jobs:
134
150
- uses : actions/checkout@v3
135
151
with :
136
152
fetch-depth : 0
153
+ submodules : ' recursive'
137
154
-
uses :
actions-rs/[email protected]
138
155
id : toolchain
139
156
with :
@@ -155,7 +172,7 @@ jobs:
155
172
steps :
156
173
- uses : actions/checkout@v3
157
174
with :
158
- submodules : true
175
+ submodules : ' recursive '
159
176
160
177
-
uses :
actions-rs/[email protected]
161
178
id : toolchain
@@ -175,15 +192,15 @@ jobs:
175
192
env :
176
193
RUSTC_WRAPPER : " "
177
194
178
- test :
179
- name : tests
195
+ aws-lc-rust- test :
196
+ name : aws-lc-rust tests
180
197
runs-on : ${{ matrix.os }}
181
198
strategy :
182
199
fail-fast : false
183
200
matrix :
184
- rust : [stable]
185
- os : [ubuntu-latest, macOS-latest]
186
- target : [native, aarch64-unknown-linux-gnu, i686-unknown-linux-gnu]
201
+ rust : [ stable ]
202
+ os : [ ubuntu-latest, macOS-latest ]
203
+ target : [ native, aarch64-unknown-linux-gnu, i686-unknown-linux-gnu ]
187
204
args :
188
205
- --all-targets
189
206
- --release --all-targets --features ring-benchmarks
@@ -200,6 +217,8 @@ jobs:
200
217
target : i686-unknown-linux-gnu
201
218
steps :
202
219
- uses : actions/checkout@v3
220
+ with :
221
+ submodules : ' recursive'
203
222
-
uses :
actions-rs/[email protected]
204
223
id : toolchain
205
224
with :
@@ -215,23 +234,26 @@ jobs:
215
234
args : cross
216
235
217
236
- name : Run cargo test
218
- uses :
actions-rs/[email protected]
219
- with :
220
- command : test
221
- args : ${{ matrix.args }} ${{ matrix.target != 'native' && format('--target {0}', matrix.target) || '' }}
222
- use-cross : ${{ matrix.target != 'native' }}
237
+ working-directory : ./aws-lc-rust
238
+ if : ${{ matrix.target == 'native' }}
239
+ run : cargo test ${{ matrix.args }} ${{ matrix.target != 'native' && format('--target {0}', matrix.target) || '' }}
240
+
241
+ - name : Run cargo cross test
242
+ working-directory : ./aws-lc-rust
243
+ if : ${{ matrix.target != 'native' }}
244
+ run : cross test ${{ matrix.args }} ${{ matrix.target != 'native' && format('--target {0}', matrix.target) || '' }}
223
245
224
246
fips-test :
225
- name : fips-tests
247
+ name : aws-lc-rust fips-tests
226
248
runs-on : ${{ matrix.os }}
227
249
env :
228
250
CC : clang
229
251
CXX : clang++
230
252
strategy :
231
253
fail-fast : false
232
254
matrix :
233
- rust : [stable]
234
- os : [ubuntu-latest]
255
+ rust : [ stable ]
256
+ os : [ ubuntu-latest ]
235
257
args :
236
258
- --release --all-targets --features fips
237
259
- --no-default-features --features fips
@@ -241,22 +263,24 @@ jobs:
241
263
- --no-default-features --features fips,bindgen
242
264
steps :
243
265
- uses : actions/checkout@v3
266
+ with :
267
+ submodules : ' recursive'
244
268
-
uses :
actions-rs/[email protected]
245
269
id : toolchain
246
270
with :
247
271
toolchain : ${{ matrix.rust }}
248
272
override : true
249
273
- name : Run cargo test
250
- uses :
actions-rs/[email protected]
251
- with :
252
- command : test
253
- args : ${{ matrix.args }}
274
+ working-directory : ./aws-lc-rust
275
+ run : cargo test ${{ matrix.args }}
254
276
255
- coverage :
277
+ aws-lc-rust-coverage :
278
+ name : aws-ls-rust coverage
256
279
runs-on : ubuntu-latest
257
280
steps :
258
281
- uses : actions/checkout@v3
259
282
with :
283
+ submodules : ' recursive'
260
284
lfs : true
261
285
262
286
-
uses :
actions-rs/[email protected]
@@ -276,16 +300,15 @@ jobs:
276
300
# account. Using --html can give us more insight which regions are missing
277
301
# coverage immediately.
278
302
- name : Run coverage
279
- uses :
actions-rs/[email protected]
280
- with :
281
- command : llvm-cov
282
- args : --no-fail-fast --fail-under-lines 95
303
+ working-directory : ./aws-lc-rust
304
+ run : cargo llvm-cov --no-fail-fast --fail-under-lines 95 --ignore-filename-regex "aws-lc-sys/*"
283
305
284
306
mirai-analysis :
285
307
runs-on : ubuntu-latest
286
308
steps :
287
309
- uses : actions/checkout@v3
288
310
with :
311
+ submodules : ' recursive'
289
312
lfs : true
290
313
291
314
# Update toolchain when fixed: https://github.com/facebookexperimental/MIRAI/issues/1188
@@ -319,78 +342,52 @@ jobs:
319
342
run : |
320
343
cargo mirai
321
344
322
- asan :
323
- runs-on : ubuntu-latest
324
- steps :
325
- - uses : actions/checkout@v3
326
- -
uses :
actions-rs/[email protected]
327
- id : toolchain
328
- with :
329
- toolchain : ${{ env.RUST_NIGHTLY_TOOLCHAIN }}
330
- override : true
331
- - name : Run address sanitizers
332
- uses :
actions-rs/[email protected]
333
- env :
334
- ASAN_OPTIONS : detect_leaks=1
335
- RUSTFLAGS : -Zsanitizer=address
336
- RUSTDOCFLAGS : -Zsanitizer=address
337
- with :
338
- command : test
339
- args : --lib --bins --tests --examples --target x86_64-unknown-linux-gnu --features asan
340
-
341
- asan-release :
345
+ aws-lc-rust-asan :
346
+ name : aws-lc-rust asan
347
+ strategy :
348
+ matrix :
349
+ args :
350
+ -
351
+ - --release
352
+ features :
353
+ - --features asan
354
+ - --no-default-features --features fips,asan
342
355
runs-on : ubuntu-latest
343
356
steps :
344
357
- uses : actions/checkout@v3
345
- -
uses :
actions-rs/[email protected]
346
- id : toolchain
347
358
with :
348
- toolchain : ${{ env.RUST_NIGHTLY_TOOLCHAIN }}
349
- override : true
350
- - name : Run address sanitizers
351
- uses :
actions-rs/[email protected]
352
- env :
353
- ASAN_OPTIONS : detect_leaks=1
354
- RUSTFLAGS : -Zsanitizer=address
355
- RUSTDOCFLAGS : -Zsanitizer=address
356
- with :
357
- command : test
358
- args : --release --lib --bins --tests --examples --target x86_64-unknown-linux-gnu --features asan
359
-
360
- asan-fips :
361
- runs-on : ubuntu-latest
362
- steps :
363
- - uses : actions/checkout@v3
359
+ submodules : ' recursive'
364
360
-
uses :
actions-rs/[email protected]
365
361
id : toolchain
366
362
with :
367
363
toolchain : ${{ env.RUST_NIGHTLY_TOOLCHAIN }}
368
364
override : true
369
365
- name : Run address sanitizers
370
- uses :
actions-rs/[email protected]
371
366
env :
372
367
ASAN_OPTIONS : detect_leaks=1
373
368
RUSTFLAGS : -Zsanitizer=address
374
369
RUSTDOCFLAGS : -Zsanitizer=address
375
- with :
376
- command : test
377
- args : --lib --bins --tests --examples --target x86_64-unknown-linux-gnu --no-default-features --features fips,asan
370
+ working-directory : ./aws-lc-rust
371
+ run : cargo test ${{ matrix.args }} --lib --bins --tests --examples --target x86_64-unknown-linux-gnu --features asan
378
372
379
373
s2n-quic-integration :
380
374
name : s2n-quic-integration
381
375
runs-on : ${{ matrix.os }}
382
376
strategy :
383
377
fail-fast : false
384
378
matrix :
385
- os : [ubuntu-latest, macOS-latest]
379
+ os : [ ubuntu-latest, macOS-latest ]
386
380
steps :
387
381
- uses : actions/checkout@v3
382
+ with :
383
+ submodules : ' recursive'
388
384
-
uses :
actions-rs/[email protected]
389
385
id : toolchain
390
386
with :
391
387
toolchain : stable
392
388
override : true
393
389
- name : Run s2n-quic integration
390
+ working-directory : ./aws-lc-rust
394
391
run : |
395
392
./scripts/run-s2n-quic-integration.sh
396
393
@@ -400,14 +397,17 @@ jobs:
400
397
strategy :
401
398
fail-fast : false
402
399
matrix :
403
- os : [ubuntu-latest, macOS-latest]
400
+ os : [ ubuntu-latest, macOS-latest ]
404
401
steps :
405
402
- uses : actions/checkout@v3
403
+ with :
404
+ submodules : ' recursive'
406
405
-
uses :
actions-rs/[email protected]
407
406
id : toolchain
408
407
with :
409
408
toolchain : stable
410
409
override : true
411
410
- name : Run rustls integration
411
+ working-directory : ./aws-lc-rust
412
412
run : |
413
413
./scripts/run-rustls-integration.sh
0 commit comments