name: test on: [push, pull_request] jobs: unit-tests: runs-on: ubuntu-latest strategy: matrix: node-version: [16.x, 18.x] steps: - name: checkout uses: actions/checkout@v2 - name: setup Node.js v${{ matrix.node-version }} uses: actions/setup-node@v1 with: node-version: ${{ matrix.node-version }} - run: npm install - run: npm run lint - run: npm run test-unit integration-tests: needs: unit-tests runs-on: ubuntu-latest strategy: matrix: node-version: [16.x, 18.x] steps: - name: checkout uses: actions/checkout@v2 - name: setup Node.js v${{ matrix.node-version }} uses: actions/setup-node@v1 with: node-version: ${{ matrix.node-version }} - run: npm install - run: npm run lint - run: npm run test-integration e2e-tests: needs: integration-tests runs-on: ubuntu-latest strategy: matrix: node-version: [16.x] steps: - name: checkout uses: actions/checkout@v2 - name: setup Node.js v${{ matrix.node-version }} uses: actions/setup-node@v1 with: node-version: ${{ matrix.node-version }} - run: npm install - run: npm run lint - run: npm run test-e2e