js.yml 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. name: JS Tests
  2. on:
  3. push:
  4. branches-ignore:
  5. - "dependabot/**"
  6. pull_request:
  7. env:
  8. FORCE_COLOR: 2
  9. jobs:
  10. run:
  11. name: Node ${{ matrix.node }}
  12. runs-on: ubuntu-latest
  13. strategy:
  14. fail-fast: false
  15. matrix:
  16. node: [12, 14, 16]
  17. steps:
  18. - name: Clone repository
  19. uses: actions/checkout@v2
  20. - name: Set up Node.js
  21. uses: actions/setup-node@v2
  22. with:
  23. node-version: ${{ matrix.node }}
  24. - name: Set up npm cache
  25. uses: actions/cache@v2
  26. with:
  27. path: ~/.npm
  28. key: ${{ runner.os }}-node-${{ matrix.node }}-${{ hashFiles('package.json') }}-${{ hashFiles('package-lock.json') }}
  29. restore-keys: |
  30. ${{ runner.os }}-node-${{ matrix.node }}-${{ hashFiles('package.json') }}-${{ hashFiles('package-lock.json') }}
  31. - name: Install npm dependencies
  32. run: npm ci
  33. - name: Run dist
  34. run: npm run js
  35. - name: Run JS tests
  36. run: npm run js-test
  37. - name: Run Coveralls
  38. uses: coverallsapp/github-action@v1.1.2
  39. if: matrix.node == 14
  40. with:
  41. github-token: "${{ secrets.GITHUB_TOKEN }}"
  42. path-to-lcov: "./js/coverage/lcov.info"