node-4+.yml 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. name: 'Tests: node.js'
  2. on: [pull_request, push]
  3. jobs:
  4. matrix:
  5. runs-on: ubuntu-latest
  6. outputs:
  7. latest: ${{ steps.set-matrix.outputs.requireds }}
  8. minors: ${{ steps.set-matrix.outputs.optionals }}
  9. steps:
  10. - uses: ljharb/actions/node/matrix@main
  11. id: set-matrix
  12. with:
  13. preset: '>=4'
  14. latest:
  15. needs: [matrix]
  16. name: 'latest minors'
  17. runs-on: ubuntu-latest
  18. strategy:
  19. matrix: ${{ fromJson(needs.matrix.outputs.latest) }}
  20. steps:
  21. - uses: actions/checkout@v2
  22. - uses: ljharb/actions/node/run@main
  23. name: 'npm install && npm run tests-only'
  24. with:
  25. node-version: ${{ matrix.node-version }}
  26. command: 'tests-only'
  27. minors:
  28. needs: [matrix, latest]
  29. name: 'non-latest minors'
  30. continue-on-error: true
  31. if: ${{ !github.head_ref || !startsWith(github.head_ref, 'renovate') }}
  32. runs-on: ubuntu-latest
  33. strategy:
  34. matrix: ${{ fromJson(needs.matrix.outputs.minors) }}
  35. steps:
  36. - uses: actions/checkout@v2
  37. - uses: ljharb/actions/node/run@main
  38. with:
  39. node-version: ${{ matrix.node-version }}
  40. command: 'tests-only'
  41. node:
  42. name: 'node 4+'
  43. needs: [latest, minors]
  44. runs-on: ubuntu-latest
  45. steps:
  46. - run: 'echo tests completed'