v8-ci.yml 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. name: v8 CI
  2. on:
  3. pull_request:
  4. branches: [v8]
  5. push:
  6. branches: [v8]
  7. permissions:
  8. contents: read
  9. concurrency:
  10. group: v8-ci-${{ github.event.pull_request.number || github.ref }}
  11. cancel-in-progress: true
  12. jobs:
  13. quality:
  14. name: v8-quality-${{ matrix.node }}
  15. runs-on: windows-latest
  16. timeout-minutes: 20
  17. strategy:
  18. fail-fast: false
  19. matrix:
  20. node: ['22.19.0', '24.15.0']
  21. steps:
  22. - uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
  23. with:
  24. fetch-depth: 0
  25. persist-credentials: false
  26. - uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4
  27. with:
  28. version: 11.27.1
  29. - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
  30. with:
  31. node-version: ${{ matrix.node }}
  32. cache: pnpm
  33. - run: pnpm install --frozen-lockfile
  34. - run: pnpm check:public
  35. - run: pnpm check:version
  36. - run: pnpm audit --audit-level=high
  37. - run: pnpm lint
  38. - run: pnpm test:release
  39. - run: pnpm test
  40. - run: pnpm build
  41. - run: pnpm --filter @linfengqaqtat/dsh-scriptor typecheck
  42. - run: pnpm --filter @linfengqaqtat/dsh-scriptor dump-config-check
  43. - run: pnpm --filter @linfengqaqtat/dsh-scriptor pack-check
  44. - name: Generated notices are current
  45. run: git diff --exit-code
  46. portability:
  47. name: v8-linux-observation
  48. runs-on: ubuntu-latest
  49. timeout-minutes: 15
  50. continue-on-error: true
  51. steps:
  52. - uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
  53. with:
  54. persist-credentials: false
  55. - uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4
  56. with:
  57. version: 11.27.1
  58. - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
  59. with:
  60. node-version: '24.15.0'
  61. cache: pnpm
  62. - run: pnpm install --frozen-lockfile
  63. - run: pnpm build
  64. - run: pnpm test
  65. required:
  66. name: v8-required
  67. runs-on: ubuntu-latest
  68. needs: [quality]
  69. if: always()
  70. steps:
  71. - name: All Windows checks passed
  72. env:
  73. RESULT: ${{ needs.quality.result }}
  74. run: test "$RESULT" = success