name: Rust CI on: push: branches: - main pull_request: branches: - main permissions: contents: read jobs: test: name: Rust ${{ matrix.rust }} runs-on: ubuntu-latest strategy: matrix: rust: - stable steps: - uses: actions/checkout@v4 - name: Install Rust uses: dtolnay/rust-toolchain@stable with: toolchain: ${{ matrix.rust }} components: rustfmt, clippy - name: Cache Cargo uses: Swatinem/rust-cache@v2 - name: Check formatting run: cargo fmt --check - name: Run Clippy run: cargo clippy --workspace --all-targets -- -D warnings - name: Run Tests run: cargo test --workspace --all-features - name: Release Build run: cargo build --release --workspace