@@ -272,36 +272,60 @@ jobs:
272
272
- name : Run tests
273
273
run : cargo test --workspace --all-targets --release
274
274
275
- build-and-test-fedora :
275
+ build-and-test-container :
276
+ strategy :
277
+ matrix :
278
+ os : ["fedora", "alpine"]
276
279
runs-on : ubuntu-latest
277
- container : fedora :latest
280
+ container : " ${{ matrix.os }} :latest"
278
281
279
282
steps :
280
283
- uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
281
284
282
- - name : Install dependencies
285
+ - name : Install dependencies (fedora)
286
+ if : matrix.os == 'fedora'
283
287
run : |
284
288
dnf install -y cargo pam-devel
285
289
290
+ - name : Install dependencies (alpine)
291
+ if : matrix.os == 'alpine'
292
+ run : |
293
+ apk add cargo linux-pam-dev sudo tzdata coreutils-fmt
294
+
286
295
- name : Rust Cache
287
296
uses : Swatinem/rust-cache@9d47c6ad4b02e050fd481d890b2ea34778fd09d6
288
297
with :
289
- shared-key : " stable-fedora "
298
+ shared-key : " stable-${{matrix.os}} "
290
299
291
300
- name : Register rust problem matcher
292
301
run : echo "::add-matcher::.github/problem-matchers/rust.json"
293
302
294
- - name : Reduce privileges
303
+ - name : Reduce privileges (fedora)
304
+ if : matrix.os == 'fedora'
295
305
run : |
296
306
useradd builder
297
307
chown builder .
298
308
309
+ - name : Reduce privileges (alpine)
310
+ if : matrix.os == 'alpine'
311
+ run : |
312
+ adduser --disabled-password builder
313
+ chown builder .
314
+
299
315
- name : Build
300
316
run : sudo -ubuilder cargo build --workspace --all-targets --release
301
317
302
- - name : Run tests
318
+ - name : Run tests (not alpine)
319
+ if : matrix.os != 'alpine'
303
320
run : sudo -ubuilder cargo test --workspace --all-targets --release
304
321
322
+ - name : Run tests (alpine)
323
+ if : matrix.os == 'alpine'
324
+ run : |
325
+ # Alpine hasn't done usr-merge yet
326
+ sudo -ubuilder cargo test --workspace --all-targets --release \
327
+ -- --skip canonicalization --skip test_build_run_context
328
+
305
329
build-and-test-32bit :
306
330
runs-on : ubuntu-latest
307
331
0 commit comments