Skip to content

Commit 3d9638f

Browse files
committed
Add more workflow architecture coverage
Adds aarch64, x86, powerpc, and powerpc64.
1 parent 6b83d6d commit 3d9638f

File tree

1 file changed

+55
-3
lines changed

1 file changed

+55
-3
lines changed

.github/workflows/tests.yml

Lines changed: 55 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,16 @@ on:
66
workflow_dispatch:
77

88
jobs:
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
@@ -35,4 +37,54 @@ jobs:
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

Comments
 (0)