name: CI on: push: branches: - main pull_request: branches: - main jobs: test: name: Tests strategy: matrix: os: [ubuntu-latest, macos-latest, windows-latest] runs-on: ${{ matrix.os }} steps: - name: Checkout uses: actions/checkout@v4 - name: Install pnpm uses: pnpm/action-setup@v4.0.0 - name: Set node version to 20 uses: actions/setup-node@v4 with: node-version: 20 registry-url: https://registry.npmjs.org/ cache: 'pnpm' - name: Install deps run: pnpm install - name: Run tests run: pnpm test typecheck: name: Lint and Type Check runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Install pnpm uses: pnpm/action-setup@v4.0.0 - name: Set node version to 20 uses: actions/setup-node@v4 with: node-version: 20 registry-url: https://registry.npmjs.org/ cache: pnpm - name: Install deps run: pnpm install - name: Lint run: pnpm lint - name: Type-check run: pnpm type-check