ci.yml 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. name: CI
  2. on:
  3. push:
  4. branches:
  5. - master
  6. pull_request:
  7. branches:
  8. - "**"
  9. env:
  10. CI: true
  11. jobs:
  12. run:
  13. runs-on: ${{ matrix.os }}
  14. strategy:
  15. fail-fast: false
  16. matrix:
  17. node:
  18. - "10.x"
  19. - "12.x"
  20. - "14.x"
  21. os:
  22. - "ubuntu-latest"
  23. - "macos-latest"
  24. - "windows-latest"
  25. steps:
  26. - name: Clone repository
  27. uses: actions/checkout@v2
  28. - name: Use Node.js ${{ matrix.node }}
  29. uses: actions/setup-node@v1
  30. with:
  31. node-version: ${{ matrix.node }}
  32. - name: Set up npm cache
  33. uses: actions/cache@v2
  34. if: ${{ !startsWith(runner.os, 'windows') }}
  35. with:
  36. path: ~/.npm
  37. key: ${{ runner.os }}-node-v${{ env.node }}-${{ hashFiles('package.json') }}-${{ hashFiles('package-lock.json') }}}
  38. restore-keys: |
  39. ${{ runner.OS }}-node-v${{ env.node }}-${{ hashFiles('package.json') }}-${{ hashFiles('package-lock.json') }}
  40. ${{ runner.OS }}-node-v${{ env.node }}-
  41. - name: Install npm dependencies
  42. run: npm ci
  43. - name: Build files
  44. run: npm run compile
  45. - name: Run bundlewatch
  46. run: npm run bundlewatch
  47. if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.node, '12')
  48. env:
  49. BUNDLEWATCH_GITHUB_TOKEN: "${{ secrets.BUNDLEWATCH_GITHUB_TOKEN }}"