ci: install Node.js and pnpm for frontend build

This commit is contained in:
leejet 2026-03-15 20:57:13 +08:00
parent ac32c7fa46
commit c45f86c9d9

View File

@ -21,11 +21,13 @@ on:
"**/*.c", "**/*.c",
"**/*.cpp", "**/*.cpp",
"**/*.cu", "**/*.cu",
"examples/server/frontend/**",
] ]
pull_request: pull_request:
types: [opened, synchronize, reopened] types: [opened, synchronize, reopened]
paths: paths:
[ [
".github/workflows/**",
"**/CMakeLists.txt", "**/CMakeLists.txt",
"**/Makefile", "**/Makefile",
"**/*.h", "**/*.h",
@ -33,6 +35,7 @@ on:
"**/*.c", "**/*.c",
"**/*.cpp", "**/*.cpp",
"**/*.cu", "**/*.cu",
"examples/server/frontend/**",
] ]
env: env:
@ -53,6 +56,18 @@ jobs:
with: with:
submodules: recursive submodules: recursive
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: pnpm
cache-dependency-path: examples/server/frontend/pnpm-lock.yaml
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 9
- name: Dependencies - name: Dependencies
id: depends id: depends
run: | run: |
@ -106,6 +121,18 @@ jobs:
with: with:
submodules: recursive submodules: recursive
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: pnpm
cache-dependency-path: examples/server/frontend/pnpm-lock.yaml
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 9
- name: Dependencies - name: Dependencies
id: depends id: depends
run: | run: |
@ -174,6 +201,18 @@ jobs:
with: with:
submodules: recursive submodules: recursive
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: pnpm
cache-dependency-path: examples/server/frontend/pnpm-lock.yaml
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 9
- name: Get commit hash - name: Get commit hash
id: commit id: commit
if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }} if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }}
@ -223,6 +262,18 @@ jobs:
with: with:
submodules: recursive submodules: recursive
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: pnpm
cache-dependency-path: examples/server/frontend/pnpm-lock.yaml
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 9
- name: Dependencies - name: Dependencies
id: depends id: depends
run: | run: |
@ -294,6 +345,18 @@ jobs:
with: with:
submodules: recursive submodules: recursive
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: pnpm
cache-dependency-path: examples/server/frontend/pnpm-lock.yaml
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 9
- name: Install cuda-toolkit - name: Install cuda-toolkit
id: cuda-toolkit id: cuda-toolkit
if: ${{ matrix.build == 'cuda12' }} if: ${{ matrix.build == 'cuda12' }}
@ -399,6 +462,18 @@ jobs:
with: with:
submodules: recursive submodules: recursive
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: pnpm
cache-dependency-path: examples/server/frontend/pnpm-lock.yaml
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 9
- name: Cache ROCm Installation - name: Cache ROCm Installation
id: cache-rocm id: cache-rocm
uses: actions/cache@v4 uses: actions/cache@v4
@ -502,6 +577,18 @@ jobs:
with: with:
submodules: recursive submodules: recursive
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: pnpm
cache-dependency-path: examples/server/frontend/pnpm-lock.yaml
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 9
- name: Free disk space - name: Free disk space
run: | run: |
# Remove preinstalled SDKs and caches not needed for this job # Remove preinstalled SDKs and caches not needed for this job