From f663e645b5355c995f1cc568ea3be785e55bca29 Mon Sep 17 00:00:00 2001 From: Aevyrie Date: Thu, 9 Nov 2023 22:28:14 -0800 Subject: [PATCH] Update rust.yml --- .github/workflows/rust.yml | 86 +++++++++++++++++++++++++++----------- 1 file changed, 61 insertions(+), 25 deletions(-) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 7db678c..5ed7e4b 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -1,36 +1,72 @@ +name: CI on: pull_request: push: branches: - main - -name: CI - jobs: - ci: - name: CI + 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 - - 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 - - - name: Cache Dependencies - uses: Swatinem/rust-cache@ce325b60658c1b38465c06cc965b79baf32c1e72 - - - name: Format - run: cargo fmt --all -- --check - - - name: Check - run: cargo check --all-targets - - - name: Clippy - run: cargo clippy --all-targets -- -D warnings - - - name: Test - run: cargo test --all-targets + 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 --workspace --all-features --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 --workspace --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 --workspace --all-features --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 --workspace --all-features + 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 --workspace --all-features --all-targets