buddy-slab-allocator 0.3.0

Memory allocator with Buddy and Slab allocation
Documentation
name: Quality Checks

on:
  workflow_call:

jobs:
  fmt:
    name: Format Check
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

      - name: Install Rust toolchain
        uses: dtolnay/rust-toolchain@master
        with:
          toolchain: nightly-2026-02-25
          components: rustfmt

      - name: Check code format
        run: cargo fmt --all -- --check

  clippy:
    name: Clippy Lint
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

      - name: Install Rust toolchain
        uses: dtolnay/rust-toolchain@master
        with:
          toolchain: nightly-2026-02-25
          components: clippy

      - name: Rust Cache
        uses: Swatinem/rust-cache@v2

      - name: Run clippy
        run: cargo clippy --all-targets -- -D warnings

  build:
    name: Build
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

      - name: Install Rust toolchain
        uses: dtolnay/rust-toolchain@master
        with:
          toolchain: nightly-2026-02-25

      - name: Rust Cache
        uses: Swatinem/rust-cache@v2

      - name: Build library
        run: cargo build

  doc:
    name: Documentation
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

      - name: Install Rust toolchain
        uses: dtolnay/rust-toolchain@master
        with:
          toolchain: nightly-2026-02-25

      - name: Rust Cache
        uses: Swatinem/rust-cache@v2

      - name: Build documentation
        run: cargo doc --no-deps

  bench-check:
    name: Bench Compile Check
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

      - name: Install Rust toolchain
        uses: dtolnay/rust-toolchain@master
        with:
          toolchain: nightly-2026-02-25

      - name: Rust Cache
        uses: Swatinem/rust-cache@v2

      - name: Check benchmarks
        run: cargo check --benches