ci.yml 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. name: ci
  2. on: [push, pull_request]
  3. jobs:
  4. legacy:
  5. runs-on: ubuntu-latest
  6. strategy:
  7. matrix:
  8. node-version: ['0.10', '0.12', 4.x, 6.x, 8.x, 10.x, 12.x, 13.x, 14.x, 15.x, 16.x]
  9. steps:
  10. - uses: actions/checkout@v4
  11. with:
  12. persist-credentials: false
  13. - name: Use Node.js
  14. uses: actions/setup-node@v4
  15. with:
  16. node-version: ${{ matrix.node-version }}
  17. - name: Install
  18. run: |
  19. npm install --production && npm install tape
  20. - name: Run tests
  21. run: |
  22. npm run test
  23. test:
  24. runs-on: ubuntu-latest
  25. strategy:
  26. matrix:
  27. node-version: [18.x, 20.x, 22.x]
  28. steps:
  29. - uses: actions/checkout@v4
  30. with:
  31. persist-credentials: false
  32. - name: Use Node.js
  33. uses: actions/setup-node@v4
  34. with:
  35. node-version: ${{ matrix.node-version }}
  36. - name: Install
  37. run: |
  38. npm install
  39. - name: Run tests
  40. run: |
  41. npm run test:coverage
  42. types:
  43. runs-on: ubuntu-latest
  44. steps:
  45. - uses: actions/checkout@v4
  46. with:
  47. persist-credentials: false
  48. - name: Use Node.js
  49. uses: actions/setup-node@v4
  50. with:
  51. node-version: 22
  52. - name: Install
  53. run: |
  54. npm install
  55. - name: Run types tests
  56. run: |
  57. npm run test:typescript
  58. lint:
  59. runs-on: ubuntu-latest
  60. steps:
  61. - uses: actions/checkout@v4
  62. with:
  63. persist-credentials: false
  64. - name: Use Node.js
  65. uses: actions/setup-node@v4
  66. with:
  67. node-version: 22
  68. - name: Install
  69. run: |
  70. npm install
  71. - name: Lint
  72. run: |
  73. npm run lint