# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node # For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions name: Node.js CI on: push: branches: [master] pull_request: branches: [master] jobs: build: runs-on: ubuntu-latest strategy: matrix: node-version: [12.x, 14.x] steps: - uses: actions/checkout@v2.3.3 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v1.4.4 with: node-version: ${{ matrix.node-version }} - name: Use cached node_modules id: cache uses: actions/cache@v2.1.1 with: path: node_modules key: nodeModules-${{ hashFiles('**/package-lock.json') }}-${{ matrix.node-version }} restore-keys: | nodeModules- - name: Install dependencies if: steps.cache.outputs.cache-hit != 'true' run: npm install env: CI: true - run: npm run prepublishOnly - run: npm test -- --coverage env: CI: true - run: bash <(curl -s --retry 5 --retry-delay 2 --connect-timeout 2 https://codecov.io/bash)