name: check on: push: branches: ["**"] pull_request: branches: ["**"] jobs: check: name: check (${{ matrix.os }}) runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [ubuntu-latest, macos-latest] steps: - name: Checkout uses: actions/checkout@v4 - name: Install shellcheck (Ubuntu) if: runner.os == 'Linux' run: sudo apt-get update -q && sudo apt-get install -y -q shellcheck - name: Install shellcheck (macOS) if: runner.os == 'macOS' run: brew install shellcheck - name: Install ripgrep (Ubuntu) if: runner.os == 'Linux' run: sudo apt-get install -y -q ripgrep - name: Install Node.js uses: actions/setup-node@v4 with: node-version: "22" - name: Install pnpm uses: pnpm/action-setup@v4 with: version: "10" - name: Install dependencies run: pnpm install --frozen-lockfile - name: Run full quality suite (offline link-checking) run: pnpm run check