name: Cross-OS Tests

on: [push, pull_request]

jobs:
  test:
    strategy:
      matrix:
        os:
          - ubuntu-latest
          - windows-latest
          - macos-latest
        node:
          - 22
          - 24
          - 26

    runs-on: ${{ matrix.os }}
    name: ${{ matrix.os }} (Node v${{ matrix.node }})

    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: ${{ matrix.node }}
      - uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5
      - run: |
          git config --global init.defaultBranch main
          git config --global user.name User
          git config --global user.email user@example.org
      - run: pnpm install
      - run: pnpm test
