libfreemkv 0.22.0

Open source raw disc access library for optical drives
Documentation
name: CI

on:
  push:
    branches: [main]
  pull_request:

jobs:
  lint:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v5
      - uses: dtolnay/rust-toolchain@1.86.0
        with:
          components: clippy, rustfmt
      - run: cargo fmt --check
      # libfreemkv is a library — Cargo.lock is gitignored. --locked
      # would always fail on a fresh runner because there's no committed
      # lockfile to lock against. The binary crates (freemkv, autorip,
      # bdemu) track Cargo.lock and DO use --locked.
      - run: cargo clippy -- -D warnings

  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v5
      - uses: dtolnay/rust-toolchain@1.86.0
      - run: cargo test --tests

  check-macos:
    runs-on: macos-latest
    steps:
      - uses: actions/checkout@v5
      - uses: dtolnay/rust-toolchain@1.86.0
      - run: cargo check

  check-windows:
    runs-on: windows-latest
    steps:
      - uses: actions/checkout@v5
      - uses: dtolnay/rust-toolchain@1.86.0
      - run: cargo check