Skip to content

Update Cargo.lock for v0.7.0 #10

Update Cargo.lock for v0.7.0

Update Cargo.lock for v0.7.0 #10

Workflow file for this run

name: CI
on:
push:
branches: [master]
pull_request:
branches: [master]
env:
CARGO_TERM_COLOR: always
jobs:
# ── Basic compilation check ───────────────────────────────────────────
check:
name: cargo check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- run: cargo check
# ── Test suite (unit + integration + doc-tests) ───────────────────────
test:
name: cargo test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- run: cargo test --all-targets
- run: cargo test --doc
# ── Lint with Clippy ──────────────────────────────────────────────────
clippy:
name: clippy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
components: clippy
- uses: Swatinem/rust-cache@v2
- run: cargo clippy --all-targets -- -D warnings
# ── Formatting check ─────────────────────────────────────────────────
fmt:
name: rustfmt
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt
- run: cargo fmt --all -- --check
# ── Miri (undefined-behavior detector) ────────────────────────────────
miri:
name: miri
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
with:
components: miri
- uses: Swatinem/rust-cache@v2
# Run single-threaded correctness tests under Miri.
# Multi-threaded tests are excluded because the seqlock protocol
# involves deliberate optimistic data races that Miri flags as UB
# (see README "Seqlock Memory Model Question").
- run: >
cargo +nightly miri test --test correctness -- --test-threads=1
--skip cross_thread
--skip blocking_recv
--skip stress_1m
--skip bounded_publish_blocks
--skip bounded_publish_batch_blocks
--skip subscriber_drop_unblocks
--skip subscriber_group_bounded_cross
--skip bounded_cross_thread
# ── Cross-platform matrix build ──────────────────────────────────────
cross-platform:
name: ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- run: cargo check
- run: cargo test --all-targets
# ── WASM build (verify no_std / WASM compatibility) ──────────────────
wasm:
name: wasm32 check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
targets: wasm32-unknown-unknown
- uses: Swatinem/rust-cache@v2
- run: cargo check --target wasm32-unknown-unknown
# ── No default features (pure no_std) ────────────────────────────────
no-default-features:
name: no-default-features
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- run: cargo check --no-default-features
# ── Hugepages feature gate (Linux only) ──────────────────────────────
hugepages:
name: hugepages feature
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- run: cargo check --features hugepages