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: - 14.17 - 16.0.0 - 17 runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - 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@v2 with: node-version: ${{ matrix.node-version }} cache: npm - run: npm ci - 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@v2 - uses: actions/setup-node@v2 with: node-version: 16 cache: npm - run: npm ci - name: Ensure dependencies are compatible with the version of node run: npx ls-engines@0.4 - run: npm run lint