6
6
workflow_dispatch :
7
7
8
8
jobs :
9
- test :
10
- runs-on : ubuntu-latest
9
+ test-accelerated :
10
+ name : Test accelerated architectures (aarch64, x86_64)
11
11
strategy :
12
12
matrix :
13
+ os : [ubuntu-latest, ubuntu-24.04-arm, macos-latest]
13
14
rust-toolchain :
14
15
- " 1.81" # minimum for this crate
15
16
- " stable"
16
17
- " nightly"
18
+ runs-on : ${{ matrix.os }}
17
19
steps :
18
20
- uses : actions/checkout@v4 # not pinning to commit hash since this is a GitHub action, which we trust
19
21
- uses : actions-rust-lang/setup-rust-toolchain@9d7e65c320fdb52dcd45ffaa68deb6c02c8754d9 # v1.12.0
35
37
- name : Test
36
38
run : cargo test
37
39
- name : Test (Optimized)
38
- run : cargo test --features=optimize_crc32_auto
40
+ run : cargo test --features=optimize_crc32_auto
41
+
42
+ test-x86 :
43
+ name : Test accelerated architectures (x86)
44
+ runs-on : ubuntu-latest
45
+ strategy :
46
+ matrix :
47
+ target : [i586-unknown-linux-gnu, i686-unknown-linux-gnu]
48
+ rust-toolchain :
49
+ - " 1.81" # minimum for this crate
50
+ - " stable"
51
+ - " nightly"
52
+ steps :
53
+ - uses : actions/checkout@v4 # not pinning to commit hash since this is a GitHub action, which we trust
54
+ - uses : actions-rust-lang/setup-rust-toolchain@9d7e65c320fdb52dcd45ffaa68deb6c02c8754d9 # v1.12.0
55
+ with :
56
+ toolchain : ${{ matrix.rust-toolchain }}
57
+ components : rustfmt, clippy
58
+ - name : Set up cross
59
+ run : cargo install cross --locked --version 0.2.5
60
+ - name : Check
61
+ run : cross check --target ${{ matrix.target }}
62
+ - name : Test
63
+ run : cross test --target ${{ matrix.target }}
64
+ - name : Test (Optimized)
65
+ run : cargo test --features=optimize_crc32_auto --target ${{ matrix.target }}
66
+
67
+ test-software :
68
+ name : Test software fallback architectures
69
+ runs-on : ubuntu-latest
70
+ strategy :
71
+ matrix :
72
+ target : [powerpc-unknown-linux-gnu, powerpc64-unknown-linux-gnu]
73
+ rust-toolchain :
74
+ - " 1.81" # minimum for this crate
75
+ - " stable"
76
+ - " nightly"
77
+ steps :
78
+ - uses : actions/checkout@v4 # not pinning to commit hash since this is a GitHub action, which we trust
79
+ - uses : actions-rust-lang/setup-rust-toolchain@9d7e65c320fdb52dcd45ffaa68deb6c02c8754d9 # v1.12.0
80
+ with :
81
+ toolchain : ${{ matrix.rust-toolchain }}
82
+ components : rustfmt, clippy
83
+ - name : Set up cross
84
+ run : cargo install cross --locked --version 0.2.5
85
+ - name : Check
86
+ run : cross check --target ${{ matrix.target }}
87
+ - name : Test
88
+ run : cross test --target ${{ matrix.target }}
89
+ - name : Test (Optimized)
90
+ run : cargo test --features=optimize_crc32_auto --target ${{ matrix.target }}
0 commit comments