Skip to content

feat: implement Hash/Eq for host Device types #65

feat: implement Hash/Eq for host Device types

feat: implement Hash/Eq for host Device types #65

Workflow file for this run

name: Code Quality
on:
push:
branches: [master]
paths-ignore:
- "**.md"
- "docs/**"
- "LICENSE*"
- ".gitignore"
pull_request:
branches: [master]
paths-ignore:
- "**.md"
- "docs/**"
- "LICENSE*"
- ".gitignore"
jobs:
formatting:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt
- name: Check formatting
run: cargo fmt --all -- --check
lints-stable:
strategy:
fail-fast: false
matrix:
include:
# Linux - ALSA/JACK backend
- target: x86_64-unknown-linux-gnu
name: Linux
features: --all-features
os: ubuntu-latest
# Windows - WASAPI backend
- target: x86_64-pc-windows-msvc
name: Windows
features: --all-features
os: windows-latest
# macOS - CoreAudio backend
- target: aarch64-apple-darwin
name: macOS
features: --all-features
os: ubuntu-latest
# Android - Oboe backend
- target: armv7-linux-androideabi
name: Android
features: ""
os: ubuntu-latest
# iOS - CoreAudio (iOS) backend
- target: aarch64-apple-ios
name: iOS
features: ""
os: ubuntu-latest
# WASM - wasm-bindgen feature
- target: wasm32-unknown-unknown
name: WASM-bindgen
features: --features wasm-bindgen
os: ubuntu-latest
# WASM - Emscripten
- target: wasm32-unknown-emscripten
name: WASM-emscripten
features: ""
os: ubuntu-latest
# WASM - WASI
- target: wasm32-wasip1
name: WASI
features: ""
os: ubuntu-latest
name: clippy-${{ matrix.name }}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v5
- name: Cache Linux audio packages
if: runner.os == 'Linux'
uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: libasound2-dev libjack-jackd2-dev libjack-jackd2-0 libdbus-1-dev
- name: Setup ASIO SDK
if: runner.os == 'Windows'
run: |
curl -L -o asio.zip https://www.steinberg.net/asiosdk
7z x -oasio asio.zip
move asio\*\* asio\
choco install asio4all
choco install llvm
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
components: clippy
targets: ${{ matrix.target }}
- name: Rust Cache
uses: Swatinem/rust-cache@v2
with:
key: clippy-${{ matrix.target }}-${{ matrix.name }}
- name: Run clippy
env:
CPAL_ASIO_DIR: ${{ runner.os == 'Windows' && format('{0}/asio', github.workspace) || '' }}
run: cargo clippy --all --target ${{ matrix.target }} ${{ matrix.features }} -- -D warnings
lints-nightly:
name: clippy-WASM-worklet
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Cache Linux audio packages
uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: libasound2-dev libjack-jackd2-dev libjack-jackd2-0 libdbus-1-dev
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@nightly
with:
components: clippy, rust-src
targets: wasm32-unknown-unknown
- name: Rust Cache
uses: Swatinem/rust-cache@v2
with:
key: clippy-wasm32-worklet
- name: Run clippy (audioworklet)
env:
RUSTFLAGS: -C target-feature=+atomics,+bulk-memory,+mutable-globals
run: cargo +nightly clippy --all --target wasm32-unknown-unknown --features audioworklet -Z build-std=std,panic_abort -- -D warnings