Skip to content

CI

CI #141

Workflow file for this run

name: CI
on:
pull_request: {}
push:
branches:
- main
schedule:
- cron: '36 13 * * 4'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
rust: ['1.65', stable]
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{matrix.rust}}
- uses: Swatinem/rust-cache@v2
- run: cargo build --all-features -p audio -p audio-core -p audio-generator -p ste
if: matrix.rust != 'stable'
- run: cargo test --all-features --all-targets -p audio -p audio-core -p audio-generator -p ste
if: matrix.rust == 'stable'
- run: cargo test --no-default-features --all-targets -p audio -p audio-core -p audio-generator
if: matrix.rust == 'stable'
- run: cargo test --all-features --doc -p audio -p audio-core -p audio-generator -p ste
if: matrix.rust == 'stable'
test-wasapi:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- run: cargo test --all-targets -F wasapi -p audio-device
- run: cargo test --doc -F wasapi -p audio-device
test-alsa:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- run: sudo apt install libasound2-dev
- run: cargo test --all-targets -p audio-device -F alsa
- run: cargo test --doc -p audio-device -F alsa
test-pulse:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- run: sudo apt install libpulse-dev
- run: cargo test --all-targets -p audio-device -F pulse
- run: cargo test --doc -p audio-device -F pulse
clippy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
components: clippy
- run: cargo clippy --all-targets -p audio -p audio-core -p audio-generator -p ste -- -D warnings
rustfmt:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt
- run: cargo fmt --all --check
docs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- run: cargo doc -p audio -p audio-core --all-features
env:
RUSTFLAGS: --cfg docsrs
RUSTDOCFLAGS: --cfg docsrs