audio-visualizer 0.8.0

Audio visualization library for developers: visually check audio samples, e.g. as waveform or spectrum, either as static PNG/SVG image or live in a real-time GUI window.
Documentation
name: Build

# Triggers the workflow on push or pull request events (for any branch in a repository)
on: [ push, pull_request, merge_group ]

env:
  CARGO_TERM_COLOR: always

jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        rust:
          - stable
          - nightly
          - 1.95.0 # MSRV
    steps:
      - uses: actions/checkout@v7
      - name: Setup Rust toolchain
        uses: dtolnay/rust-toolchain@stable
        with:
          toolchain: ${{ matrix.rust }}
      - uses: Swatinem/rust-cache@v2
      - run: sudo apt update && sudo apt install pkg-config libasound2-dev libxkbcommon-dev -y
      - run: cargo build --all-targets
      - run: cargo test

  style_checks:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        rust:
          - stable
    steps:
      - uses: actions/checkout@v7
      - name: Setup Rust toolchain
        uses: dtolnay/rust-toolchain@stable
        with:
          toolchain: ${{ matrix.rust }}
          components: clippy, rustfmt
      - uses: Swatinem/rust-cache@v2
      - run: sudo apt update && sudo apt install pkg-config libasound2-dev libxkbcommon-dev -y
      - name: Rustfmt (checks all source code/all features)
        run: cargo fmt -- --check
      - name: Clippy
        run: cargo clippy --all-targets
      - name: Rustdoc (default feature)
        run: cargo doc --document-private-items --no-deps