name: CI on: push: branches-ignore: - "dependabot/**" pull_request: jobs: test: runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: node: - 20 - 22 - 24 os: - ubuntu-latest - macos-latest - windows-latest steps: - uses: actions/checkout@v4 - name: Setup Node.js environment uses: actions/setup-node@v4 with: node-version: ${{ matrix.node }} cache: npm - name: Install packages run: npm ci - name: Lint and run tests run: npm run precommit