on: [push, pull_request] name: Basic CI env: CARGO_TERM_COLOR: always permissions: contents: read concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} jobs: check: name: cargo check runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [ubuntu-latest, macOS-latest] steps: - uses: actions/checkout@v6 - uses: Swatinem/rust-cache@v2 - run: cargo check --workspace build: name: cargo build runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [ubuntu-latest, macOS-latest] steps: - uses: actions/checkout@v6 - uses: Swatinem/rust-cache@v2 - run: cargo build --workspace test: name: cargo test runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [ubuntu-latest, macOS-latest] steps: - uses: actions/checkout@v6 - uses: Swatinem/rust-cache@v2 - run: cargo test --workspace