name: CI on: pull_request: types: [opened, synchronize, reopened] push: branches: [master] paths-ignore: - "website/**" concurrency: group: ci-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true jobs: check: name: check (${{ matrix.os }}) strategy: fail-fast: false matrix: os: [ubuntu-latest, macos-latest] runs-on: ${{ matrix.os }} steps: - name: Checkout uses: actions/checkout@v4 - name: Install just uses: extractions/setup-just@v3 - name: Install Rust uses: dtolnay/rust-toolchain@stable - name: Install cargo-nextest uses: taiki-e/install-action@5f57d6cb7cd20b14a8a27f522884c4bc8a187458 # v2 with: tool: cargo-nextest - name: Install Zig uses: mlugg/setup-zig@d1434d08867e3ee9daa34448df10607b98908d29 # v2.2.1 with: version: 0.15.2 - name: Install macOS build tools if: runner.os == 'macOS' run: brew install cmake ninja - name: Restore cargo cache uses: Swatinem/rust-cache@v2 with: cache-bin: false - name: Run checks run: just ci