From c233c37e366733dd1ba3bec3968860e1aaf8c4e2 Mon Sep 17 00:00:00 2001 From: kholdrex Date: Mon, 1 Jun 2026 04:02:44 -0500 Subject: [PATCH] ci: strengthen Rust quality gates --- .github/workflows/rust.yml | 48 +++++++++++++++++++++----------------- 1 file changed, 26 insertions(+), 22 deletions(-) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 8834f59..24cff43 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -2,30 +2,34 @@ name: Rust on: push: - branches: [ main ] + branches: [main] pull_request: - branches: [ main ] + branches: [main] jobs: - build-and-test: + ci: runs-on: ubuntu-latest - + steps: - - name: Checkout code - uses: actions/checkout@v2 - - - name: Install dependencies - run: sudo apt-get update && sudo apt-get install -y curl - - - name: Install Rust - run: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y - shell: bash - - - name: Add Rust to PATH - run: echo "$HOME/.cargo/bin" >> $GITHUB_PATH - - - name: Build project - run: cargo build --verbose - - - name: Run tests - run: cargo test --verbose + - name: Checkout code + uses: actions/checkout@v4 + + - name: Install Rust toolchain + uses: dtolnay/rust-toolchain@stable + with: + components: rustfmt, clippy + + - name: Cache Rust dependencies + uses: Swatinem/rust-cache@v2 + + - name: Check formatting + run: cargo fmt --all -- --check + + - name: Run clippy + run: cargo clippy --all-targets --all-features -- -D warnings + + - name: Run tests + run: cargo test --all-features + + - name: Check examples + run: cargo check --examples --all-features