test.yml 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  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/core-vapor'
  44. runs-on: ubuntu-latest
  45. needs: [unit-test, lint-and-test-dts]
  46. permissions:
  47. contents: read
  48. id-token: write
  49. steps:
  50. - name: Checkout
  51. uses: actions/checkout@v4
  52. - name: Install pnpm
  53. uses: pnpm/action-setup@v4
  54. - name: Install Node.js
  55. uses: actions/setup-node@v4
  56. with:
  57. node-version-file: '.node-version'
  58. registry-url: 'https://registry.npmjs.org'
  59. cache: 'pnpm'
  60. - name: Install deps
  61. run: pnpm install
  62. - name: Build
  63. run: pnpm build --withTypes
  64. - name: Release
  65. run: pnpx pkg-pr-new publish --pnpm './packages/*' --template './playground'