name: Rust Build on: push: branches: - main pull_request: branches: - main concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: check: name: Check runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v6 - uses: actions-rust-lang/setup-rust-toolchain@v1 with: toolchain: 1.96.1 - uses: Swatinem/rust-cache@v2 - run: cargo check test: name: Test Suite runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v6 - uses: actions-rust-lang/setup-rust-toolchain@v1 with: toolchain: 1.96.1 - uses: Swatinem/rust-cache@v2 - run: cargo test fmt: name: Rustfmt runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v6 - uses: actions-rust-lang/setup-rust-toolchain@v1 with: toolchain: 1.96.1 - uses: Swatinem/rust-cache@v2 - run: rustup component add rustfmt - run: cargo fmt --all -- --check clippy: name: Clippy runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v6 - uses: actions-rust-lang/setup-rust-toolchain@v1 with: toolchain: 1.96.1 - uses: Swatinem/rust-cache@v2 - run: rustup component add clippy - run: cargo clippy -- -D warnings build: name: build runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v6 - uses: actions-rust-lang/setup-rust-toolchain@v1 with: toolchain: 1.96.1 - uses: Swatinem/rust-cache@v2 - run: cargo build