deloxide 1.1.0

Deloxide scrubs your threads clean by detecting deadlocks in real time—keeping your system smooth, safe, and corrosion-free. 🦀🧼🔒
Documentation
name: CI

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

permissions:
  contents: read

jobs:
  quality:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0
      - uses: dtolnay/rust-toolchain@4cda84d5c5c54efe2404f9d843567869ab1699d4
        with:
          toolchain: "1.90.0"
          components: rustfmt, clippy
      - run: cargo fmt --all -- --check
      - run: cargo clippy --lib --bins --examples --all-features -- -D warnings
      - run: cargo test --lib
      - run: cargo test --all-features --lib
      - run: cargo check --examples

  platform:
    strategy:
      fail-fast: false
      matrix:
        os: [ubuntu-latest, macos-latest, windows-latest]
    runs-on: ${{ matrix.os }}
    steps:
      - uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0
      - uses: dtolnay/rust-toolchain@4cda84d5c5c54efe2404f9d843567869ab1699d4
        with:
          toolchain: "1.90.0"
      - run: cargo test --lib
      - run: cargo check --all-features

  features:
    strategy:
      matrix:
        features:
          - ""
          - "logging-and-visualization"
          - "lock-order-graph"
          - "stress-test"
          - "logging-and-visualization,lock-order-graph,stress-test"
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0
      - uses: dtolnay/rust-toolchain@4cda84d5c5c54efe2404f9d843567869ab1699d4
        with:
          toolchain: "1.90.0"
      - run: cargo check --features "${{ matrix.features }}"

  docs:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0
      - uses: dtolnay/rust-toolchain@4cda84d5c5c54efe2404f9d843567869ab1699d4
        with:
          toolchain: "1.90.0"
      - uses: peaceiris/actions-mdbook@948b432f0fddb61de0806565a7222b36e12e2ee3 # v2.0.0
        with:
          mdbook-version: "0.5.4"
      - run: scripts/check_docs.sh
      - run: cargo package

  c-smoke:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0
      - uses: dtolnay/rust-toolchain@4cda84d5c5c54efe2404f9d843567869ab1699d4
        with:
          toolchain: "1.90.0"
      - run: cargo build --release
      - run: >-
          cc -Wall -Wextra -Werror -Iinclude c_examples/basic_mutex.c
          target/release/libdeloxide.a -pthread -ldl -lm -o target/c-basic-mutex
      - run: target/c-basic-mutex

  audit:
    runs-on: ubuntu-latest
    permissions:
      contents: read
      checks: write
    steps:
      - uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0
      - uses: rustsec/audit-check@69366f33c96575abad1ee0dba8212993eecbe998 # v2.0.0
        with:
          token: ${{ secrets.GITHUB_TOKEN }}