name: ci on: push: branches: - master pull_request: branches: - '**' jobs: test: strategy: matrix: include: - name: Node.js 14 NODE_VERSION: 14 - name: Node.js 16 NODE_VERSION: 16 - name: Node.js 18 NODE_VERSION: 18 - name: Node.js 20 NODE_VERSION: 20 fail-fast: false name: ${{ matrix.name }} runs-on: ubuntu-latest timeout-minutes: 30 steps: - uses: actions/checkout@v2 - name: Use Node.js ${{ matrix.NODE_VERSION }} uses: actions/setup-node@v1 with: node-version: ${{ matrix.NODE_VERSION }} - name: Cache Node.js modules uses: actions/cache@v2 with: path: ~/.npm key: ${{ runner.os }}-node-${{ matrix.NODE_VERSION }}-${{ hashFiles('**/package-lock.json') }} restore-keys: | ${{ runner.os }}-node-${{ matrix.NODE_VERSION }}- - run: npm ci - run: npm run lint - run: npm run coverage - run: bash <(curl -s https://codecov.io/bash)