test.yaml 827 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. name: test
  2. on:
  3. pull_request:
  4. jobs:
  5. build:
  6. strategy:
  7. matrix:
  8. node-version: ['16', '18', '20']
  9. runs-on: ubuntu-latest
  10. steps:
  11. - uses: actions/checkout@v4
  12. - uses: actions/setup-node@v4
  13. with:
  14. node-version: ${{ matrix.node-version }}
  15. cache: npm
  16. - run: npm ci
  17. - run: npm run build
  18. test:
  19. needs: build
  20. runs-on: ubuntu-latest
  21. steps:
  22. - uses: actions/checkout@v4
  23. - uses: actions/setup-node@v4
  24. with:
  25. node-version: '20'
  26. cache: npm
  27. - run: npm ci
  28. - run: npm i -D @vitest/coverage-v8@^2.1.6
  29. - run: npm run lint
  30. - run: npm test -- --coverage
  31. - uses: actions/upload-artifact@v4
  32. with:
  33. name: vitest-results
  34. path: coverage/*
  35. if: ${{ always() }}