diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..b826b57 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,41 @@ +name: ci +on: [ push, pull_request ] + +permissions: read-all + +env: + SCCACHE_GHA_ENABLED: "true" + RUSTC_WRAPPER: "sccache" + +jobs: + test: + name: test + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - run: sudo apt-get update; sudo apt-get install --no-install-recommends libasound2-dev libudev-dev + - uses: swatinem/rust-cache@v2 + - uses: mozilla-actions/sccache-action@v0.0.4 + - uses: dtolnay/rust-toolchain@stable + - run: cargo test --all-features + lint: + name: lint + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - run: sudo apt-get update; sudo apt-get install --no-install-recommends libasound2-dev libudev-dev + - uses: swatinem/rust-cache@v2 + - uses: mozilla-actions/sccache-action@v0.0.4 + - uses: dtolnay/rust-toolchain@stable + with: + components: clippy + - run: cargo clippy --all-targets --all-features -- -D warnings + format: + name: format + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@stable + with: + components: rustfmt + - run: cargo fmt --all -- --check