2025-03-04 21:41:31 -08:00

80 lines
2.1 KiB
YAML

name: CI
on:
pull_request:
push:
branches:
- main
jobs:
setup:
runs-on: ubuntu-latest
steps:
- name: Update Packages
run: sudo apt-get update -yq
- name: Install dependencies
run: sudo apt-get install -yq --no-install-recommends libudev-dev libasound2-dev libxcb-composite0-dev
format:
runs-on: ubuntu-latest
needs: [setup]
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2.7.0
- run: rustup component add rustfmt
- run: cargo fmt --all -- --check
check:
runs-on: ubuntu-latest
needs: [setup]
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2.7.0
- run: cargo check --features=all --all-targets
check-no-defaults:
runs-on: ubuntu-latest
needs: [setup]
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2.7.0
- run: cargo check --no-default-features --all-targets
clippy:
runs-on: ubuntu-latest
needs: [setup]
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2.7.0
- run: rustup component add clippy
- run: cargo clippy --features=all --all-targets -- -D warnings
doc:
runs-on: ubuntu-latest
needs: [setup]
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2.7.0
- run: cargo doc --features=all --no-deps
env:
RUSTDOCFLAGS: -D warnings
test:
runs-on: ubuntu-latest
needs: [setup]
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2.7.0
- run: cargo test --features=all
doctest:
runs-on: ubuntu-latest
needs: [setup]
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2.7.0
- run: cargo test --features=all --doc