name: Test Pull Requests on: [pull_request] jobs: build: runs-on: ubuntu-latest timeout-minutes: 30 strategy: matrix: node-version: [14.x, 16.x, 18.x] steps: - uses: actions/checkout@v3 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v3 with: node-version: ${{ matrix.node-version }} cache: 'npm' - name: Install npm and dependencies run: npm install -g npm@latest && npm install - name: Build run: npm run build --if-present - name: Test run: npm run test - name: Fetch base branch for `git diff` run: git fetch origin ${{ github.event.pull_request.base.ref }}:${{ github.event.pull_request.base.ref }} - name: Run ESLint on changes only env: ESLINT_PLUGIN_DIFF_COMMIT: ${{ github.event.pull_request.base.ref }} run: npm run lint