Improve code #83
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
pull_request: | |
push: | |
branches: [ main ] | |
env: | |
CARGO_TERM_COLOR: always | |
# Sparse cargo registry for faster updates | |
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse | |
jobs: | |
lint: | |
runs-on: ubuntu-latest | |
env: | |
# Handle cargo check and cargo clippy warnings as errors | |
RUSTFLAGS: "-D warnings" | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: 'true' | |
- uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: stable | |
components: clippy | |
- name: Cache Cargo build files | |
uses: Leafwing-Studios/cargo-cache@v1 | |
- name: Install alsa and udev | |
run: sudo apt-get update; sudo apt-get install --no-install-recommends libasound2-dev libudev-dev | |
- name: Run cargo clippy | |
run: cargo clippy --tests --examples | |
format: | |
runs-on: ubuntu-latest | |
env: | |
RUSTFLAGS: "-D warnings" | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: 'true' | |
- uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: nightly | |
components: rustfmt | |
- name: Cache Cargo build files | |
uses: Leafwing-Studios/cargo-cache@v1 | |
- name: Run cargo fmt | |
run: cargo fmt --check --all | |
doc: | |
runs-on: ubuntu-latest | |
env: | |
RUSTFLAGS: "-D warnings" | |
RUSTDOCFLAGS: '--deny warnings' | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: 'true' | |
- uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: stable | |
- name: Cache Cargo build files | |
uses: Leafwing-Studios/cargo-cache@v1 | |
- name: Install alsa and udev | |
run: sudo apt-get update; sudo apt-get install --no-install-recommends libasound2-dev libudev-dev | |
- name: Run cargo doc | |
run: cargo doc --no-deps --all-features | |
test: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: 'true' | |
- uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: stable | |
- name: Cache Cargo build files | |
uses: Leafwing-Studios/cargo-cache@v1 | |
- name: Install alsa and udev | |
run: sudo apt-get update; sudo apt-get install --no-install-recommends libasound2-dev libudev-dev | |
- name: Run cargo test | |
run: cargo test --all-features | |
- name: Run doc tests | |
run: cargo test --doc |