Skip to content

updated CI pipeline #34

updated CI pipeline

updated CI pipeline #34

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- macos-latest
- windows-latest
rust:
- stable
- beta
- nightly
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}
- run: cargo test --lib
- run: cargo test --test correctness
- run: cargo test --test edge_cases
- run: cargo test --tests --all-features
test-release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
- run: cargo test --release --lib
- run: cargo test --release --test correctness
- run: cargo test --release --test edge_cases
- run: cargo test --release --doc
clippy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
components: clippy
- run: cargo clippy --all-targets --all-features -- -D warnings
fmt:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
components: rustfmt
- run: cargo fmt -- --check
doc:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
- run: cargo test --doc
miri:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: nightly
components: miri
# Miri cannot interpret x86 SIMD intrinsics, so the dispatch layer
# forces the scalar backend under cfg(miri). This run validates the
# public API and the scalar reference under interpretation; it skips
# the SSE/AVX2 module-internal tests, which would still attempt to
# call intrinsics directly.
- run: cargo miri test --lib -- --skip simd::sse::tests --skip simd::avx2::tests
# proptest's FileFailurePersistence calls std::env::current_dir(),
# which Miri's default isolation blocks. Skip the prop_* tests.
- run: cargo miri test --test correctness -- --skip prop_
- run: cargo miri test --test edge_cases
fuzz:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: nightly
- name: Install cargo-fuzz
run: cargo install cargo-fuzz
- name: Run fuzz_roundtrip
run: cargo fuzz run roundtrip -- -max_total_time=300s -timeout=10s
- name: Run fuzz_compress_only
run: cargo fuzz run compress_only -- -max_total_time=300s -timeout=10s
- name: Run fuzz_decompress_only
run: cargo fuzz run decompress_only -- -max_total_time=300s -timeout=10s