name: CI on: push: branches: [main] pull_request: env: CARGO_TERM_COLOR: always jobs: gates: name: check / clippy / fmt / deny (${{ matrix.os }}) strategy: fail-fast: false matrix: os: [macos-14, ubuntu-24.04] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - name: Install toolchain (rust-toolchain.toml) run: rustup show - name: Install dotslash (protoc launcher) run: cargo install dotslash --locked - uses: Swatinem/rust-cache@v2 - name: cargo fmt run: cargo fmt --all --check - name: cargo check run: cargo check --workspace --all-targets --locked - name: cargo clippy run: cargo clippy --workspace --all-targets --locked -- -D warnings - name: Install cargo-deny run: cargo install cargo-deny --locked - name: cargo deny advisories run: cargo deny check advisories test: name: test (${{ matrix.os }}) strategy: fail-fast: false matrix: os: [macos-14, ubuntu-24.04] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - name: Install toolchain (rust-toolchain.toml) run: rustup show - name: Install dotslash (protoc launcher) run: cargo install dotslash --locked - uses: Swatinem/rust-cache@v2 - name: cargo test run: cargo test --workspace --locked