test.yml 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. name: 'test'
  2. on: workflow_call
  3. permissions:
  4. contents: read # to fetch code (actions/checkout)
  5. jobs:
  6. unit-test:
  7. runs-on: ubuntu-latest
  8. env:
  9. PUPPETEER_SKIP_DOWNLOAD: 'true'
  10. steps:
  11. - uses: actions/checkout@v4
  12. - name: Install pnpm
  13. uses: pnpm/action-setup@v4.0.0
  14. - name: Install Node.js
  15. uses: actions/setup-node@v4
  16. with:
  17. node-version-file: '.node-version'
  18. cache: 'pnpm'
  19. - run: pnpm install
  20. - name: Run unit tests
  21. run: pnpm run test-unit
  22. lint-and-test-dts:
  23. runs-on: ubuntu-latest
  24. env:
  25. PUPPETEER_SKIP_DOWNLOAD: 'true'
  26. steps:
  27. - uses: actions/checkout@v4
  28. - name: Install pnpm
  29. uses: pnpm/action-setup@v4.0.0
  30. - name: Install Node.js
  31. uses: actions/setup-node@v4
  32. with:
  33. node-version-file: '.node-version'
  34. cache: 'pnpm'
  35. - run: pnpm install
  36. - name: Run eslint
  37. run: pnpm run lint
  38. - name: Run prettier
  39. run: pnpm run format-check
  40. - name: Run type declaration tests
  41. run: pnpm run test-dts
  42. continuous-release:
  43. if: github.repository == 'vuejs/vue-vapor'
  44. runs-on: ubuntu-latest
  45. permissions:
  46. contents: read
  47. id-token: write
  48. steps:
  49. - name: Checkout
  50. uses: actions/checkout@v4
  51. - name: Install pnpm
  52. uses: pnpm/action-setup@v4
  53. - name: Install Node.js
  54. uses: actions/setup-node@v4
  55. with:
  56. node-version-file: '.node-version'
  57. registry-url: 'https://registry.npmjs.org'
  58. cache: 'pnpm'
  59. - name: Install deps
  60. run: pnpm install
  61. - name: Build
  62. run: pnpm build --withTypes
  63. - name: Release
  64. run: pnpx pkg-pr-new publish --pnpm './packages/*' --template './playground'