name: Test on: push: branches: - master # renovate/** branches are generated by https://github.com/apps/renovate - renovate/** pull_request: types: - opened - synchronize jobs: test_matrix: strategy: matrix: node-version: - 18.0.0 - 19 os: - ubuntu-latest - windows-latest runs-on: "${{ matrix.os }}" steps: - uses: actions/checkout@v3 - run: git config --global user.name github-actions - run: git config --global user.email github-actions@github.com - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v3 with: node-version: ${{ matrix.node-version }} cache: npm - run: npm clean-install - name: Ensure dependencies are compatible with the version of node run: npx ls-engines - run: npm run test:ci # separate job to set as required in branch protection, # as the build names above change each time Node versions change test: runs-on: ubuntu-latest needs: test_matrix steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: node-version: lts/* cache: npm - run: npm clean-install - run: npm run lint