name: CI on: push: branches: [main] pull_request: branches: [main] env: CARGO_TERM_COLOR: always jobs: # Run cargo test test: name: Test Suite runs-on: ubuntu-latest timeout-minutes: 30 steps: - name: Checkout sources uses: actions/checkout@v4 - name: Cache uses: actions/cache@v4 with: path: | ~/.cargo/bin/ ~/.cargo/registry/index/ ~/.cargo/registry/cache/ ~/.cargo/git/db/ target/ key: ${{ runner.os }}-cargo-test-${{ hashFiles('**/Cargo.toml') }} - name: Install stable toolchain uses: dtolnay/rust-toolchain@stable - name: Install Dependencies run: sudo apt-get update; sudo apt-get install --no-install-recommends libasound2-dev libudev-dev - name: Run cargo test run: cargo test # Run cargo clippy -- -D warnings clippy_check: name: Clippy runs-on: ubuntu-latest timeout-minutes: 30 steps: - name: Checkout sources uses: actions/checkout@v4 - name: Cache uses: actions/cache@v4 with: path: | ~/.cargo/bin/ ~/.cargo/registry/index/ ~/.cargo/registry/cache/ ~/.cargo/git/db/ target/ key: ${{ runner.os }}-cargo-clippy-${{ hashFiles('**/Cargo.toml') }} - name: Install stable toolchain uses: dtolnay/rust-toolchain@stable with: components: clippy - name: Install Dependencies run: sudo apt-get update; sudo apt-get install --no-install-recommends libasound2-dev libudev-dev - name: Run clippy run: cargo clippy -- -D warnings # Run cargo fmt --all -- --check format: name: Format runs-on: ubuntu-latest timeout-minutes: 30 steps: - name: Checkout sources uses: actions/checkout@v4 - name: Install stable toolchain uses: dtolnay/rust-toolchain@stable with: components: rustfmt - name: Run cargo fmt run: cargo fmt --all -- --check