Skip to content

Commit 8ac9367

Browse files
committed
Add GHA jobs to test the crate on different targets
1 parent a7b89dc commit 8ac9367

File tree

1 file changed

+51
-0
lines changed

1 file changed

+51
-0
lines changed

.github/workflows/rust.yml

+51
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
name: CI
2+
3+
permissions:
4+
contents: read
5+
6+
on: [push, pull_request]
7+
8+
env:
9+
CARGO_TERM_COLOR: always
10+
RUST_BACKTRACE: 1
11+
RUSTUP_MAX_RETRIES: 10
12+
13+
concurrency:
14+
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
15+
cancel-in-progress: true
16+
17+
jobs:
18+
test:
19+
strategy:
20+
matrix:
21+
os: [ubuntu, windows, macos]
22+
runs-on: ${{ matrix.os }}-latest
23+
timeout-minutes: 30
24+
steps:
25+
- uses: actions/checkout@v4
26+
- run: rustup default stable
27+
- run: cargo check
28+
- run: cargo test
29+
- run: rustup default nightly
30+
- run: cargo test --all-features
31+
cross-test:
32+
strategy:
33+
matrix:
34+
target: [
35+
"x86_64-unknown-linux-gnu", # 64-bits, little-endian
36+
"i686-unknown-linux-gnu", # 32-bits, little-endian
37+
"mips-unknown-linux-gnu", # 32-bits, big-endian
38+
"mips64-unknown-linux-gnuabi64" # 64-bits, big-endian
39+
]
40+
runs-on: ubuntu-latest
41+
timeout-minutes: 30
42+
steps:
43+
- uses: actions/checkout@v4
44+
- name: install miri
45+
run: rustup toolchain add nightly --no-self-update --component miri && rustup default nightly
46+
- run: |
47+
cargo miri test --target=${{ matrix.target }} --all-features
48+
env:
49+
MIRIFLAGS: -Zmiri-strict-provenance
50+
RUSTDOCFLAGS: ${{ env.RUSTDOCFLAGS }} -Z randomize-layout
51+
RUSTFLAGS: ${{ env.RUSTFLAGS }} -Z randomize-layout

0 commit comments

Comments
 (0)