name: CI on: push: branches: [main, feature/**] pull_request: branches: [main] concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true env: CARGO_TERM_COLOR: always RUSTFLAGS: -Dwarnings RUSTDOCFLAGS: -Dwarnings jobs: test: name: clippy, docs, tests runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Install system dependencies run: | sudo apt-get update sudo apt-get install -y \ libasound2-dev \ libudev-dev \ pkg-config \ libwayland-dev \ libxkbcommon-dev - name: Install Rust stable uses: dtolnay/rust-toolchain@stable with: components: clippy, rustfmt - name: Cache cargo registry and target uses: Swatinem/rust-cache@v2 - name: Check formatting run: cargo fmt --all -- --check - name: Clippy run: cargo clippy --workspace --all-targets -- -D warnings - name: Documentation run: cargo doc --workspace --no-deps - name: Tests run: cargo test --workspace