66 workflow_dispatch :
77
88jobs :
9- test :
10- runs-on : ubuntu-latest
9+ test-accelerated :
10+ name : Test accelerated architectures (aarch64, x86_64)
1111 strategy :
1212 matrix :
13+ os : [ubuntu-latest, ubuntu-24.04-arm, macos-latest]
1314 rust-toolchain :
1415 - " 1.81" # minimum for this crate
1516 - " stable"
1617 - " nightly"
18+ runs-on : ${{ matrix.os }}
1719 steps :
1820 - uses : actions/checkout@v4 # not pinning to commit hash since this is a GitHub action, which we trust
1921 - uses : actions-rust-lang/setup-rust-toolchain@9d7e65c320fdb52dcd45ffaa68deb6c02c8754d9 # v1.12.0
3537 - name : Test
3638 run : cargo test
3739 - 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