name: Rust on: push: branches: [main] paths: - "lib/crates/**" - "Cargo.toml" - "Cargo.lock" - ".cargo/**" - "openapi/**" - ".github/workflows/rust.yml" pull_request: branches: [main] paths: - "lib/crates/**" - "Cargo.toml" - "Cargo.lock" - ".cargo/**" - "openapi/**" - ".github/workflows/rust.yml" permissions: contents: read env: CARGO_TERM_COLOR: always jobs: fmt: name: Format runs-on: ubuntu-latest-16-cores steps: - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 with: persist-credentials: false - uses: dtolnay/rust-toolchain@631a55b12751854ce901bb631d5902ceb48146f7 # stable with: components: rustfmt - run: cargo fmt --check --all clippy: name: Clippy runs-on: ubuntu-latest-16-cores steps: - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 with: persist-credentials: false - uses: dtolnay/rust-toolchain@631a55b12751854ce901bb631d5902ceb48146f7 # stable with: components: clippy - uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2 - run: cargo clippy --workspace -- -D warnings test: name: Test runs-on: ubuntu-latest-16-cores steps: - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 with: persist-credentials: false - uses: dtolnay/rust-toolchain@631a55b12751854ce901bb631d5902ceb48146f7 # stable - uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2 - run: cargo test --workspace