From 0ae20f9ff838b6c0e2448fe0fcbbb653454b547f Mon Sep 17 00:00:00 2001 From: Ruben Hensen Date: Tue, 5 May 2026 18:10:18 +0200 Subject: [PATCH] ci: add Rust quality job (fmt, clippy, test) Adds a `quality` job that runs `cargo fmt --all -- --check`, `cargo clippy --all-targets -- -D warnings`, and `cargo test --all-targets` on every pull request and on push to main. Runs in parallel to the existing release-plz/Docker pipeline and does not block it. Refs #126. --- .github/workflows/ci.yml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e09ce80..4bcf1e4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,6 +17,27 @@ on: jobs: + # Rust quality gate: fmt, clippy, tests. Runs on every PR and on push to + # main, in parallel to the release-plz/Docker pipeline (does not block it). + quality: + name: Rust quality (fmt, clippy, test) + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v6 + - name: Install Rust toolchain + uses: dtolnay/rust-toolchain@stable + with: + components: rustfmt, clippy + - name: Cache cargo registry and target + uses: Swatinem/rust-cache@v2 + - name: cargo fmt --check + run: cargo fmt --all -- --check + - name: cargo clippy + run: cargo clippy --all-targets -- -D warnings + - name: cargo test + run: cargo test --all-targets + # Release unpublished packages. release-plz-release: name: Release-plz release