name: CI
on:
push:
branches: [ main, master ]
pull_request:
branches: [ main, master ]
env:
CARGO_TERM_COLOR: always
jobs:
check:
name: Check
runs-on: ubuntu-latest
steps:
- run: sudo apt-get update && sudo apt-get install -y g++ pkg-config libx11-dev libasound2-dev libudev-dev libxkbcommon-x11-0
- uses: actions/checkout@v5
- uses: dtolnay/rust-toolchain@1.89.0
- run: cargo check --all-features
test:
name: Test Suite
runs-on: ubuntu-latest
steps:
- run: sudo apt-get update && sudo apt-get install -y g++ pkg-config libx11-dev libasound2-dev libudev-dev libxkbcommon-x11-0
- uses: actions/checkout@v5
- uses: dtolnay/rust-toolchain@1.89.0
- run: cargo test --all-features
fmt:
name: Rustfmt
runs-on: ubuntu-latest
steps:
- run: sudo apt-get update && sudo apt-get install -y g++ pkg-config libx11-dev libasound2-dev libudev-dev libxkbcommon-x11-0
- uses: actions/checkout@v5
- uses: dtolnay/rust-toolchain@1.89.0
with:
components: rustfmt
- run: cargo fmt --all -- --check
clippy:
name: Clippy
runs-on: ubuntu-latest
steps:
- run: sudo apt-get update && sudo apt-get install -y g++ pkg-config libx11-dev libasound2-dev libudev-dev libxkbcommon-x11-0
- uses: actions/checkout@v5
- uses: dtolnay/rust-toolchain@1.89.0
with:
components: clippy
- run: cargo clippy --all-features -- -D warnings -D clippy::all -D clippy::uninlined-format-args