name: CI on: push: branches: - master pull_request: branches: - master jobs: ci: runs-on: ubuntu-latest strategy: matrix: node-version: [16.x, 18.x, 20.x, 22.x] steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up Node ${{ matrix.node-version }} uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} - name: Install dependencies run: npm ci - name: Build if: matrix.node-version == '22.x' run: npm run build - name: Run tests run: npm test - name: Generate coverage report if: matrix.node-version == '22.x' run: npm run coverage - name: Upload to coveralls if: matrix.node-version == '22.x' uses: coverallsapp/github-action@v2 with: file: ./coverage.lcov