From 66650700ed28bf2e39e35f706b206c795650af5a Mon Sep 17 00:00:00 2001 From: Delicious233 <101502465+DeliciousBuding@users.noreply.github.com> Date: Tue, 8 Sep 2026 13:02:17 +0800 Subject: [PATCH] ci(node): bump Node runtime from 22 to 24 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 把三处 workflow 的 NODE_VERSION、web 镜像 builder 基础镜像和本地要求一起升到 Node 24,并给 app/package.json 补 engines.node 下界,避免本机 / CI / 镜像三个 消费者各说一套。仓库既有的 verify-action-runtimes.py 本来就按 node24 allow-list 校验 action 运行时,这次让实际运行时与它对齐。 验证(本机 Node v24.14.0 + pnpm 10.32.1): - pnpm install --frozen-lockfile:lockfile up to date - pnpm -r typecheck:shared / workbench / web / desktop / mobile-rn 全过 - docker build -f app/Dockerfile(node:24-alpine,corepack 0.35.0)成功,镜像 83.8MB - app/desktop 按 CI 原样跑 vitest.desktop-ts-ci.config.ts:32 files / 371 tests 全过 - verify-action-runtimes / verify-ci-gates / verify-doc-ssot / verify-conventions 全 PASS 未跑:完整 CI(windows-frontend、e2e、Go 侧 job)与镜像推送,留给 PR 门禁。 Co-authored-by: Cursor --- .github/workflows/checks.yml | 2 +- .github/workflows/release-readiness.yml | 2 +- .github/workflows/release.yml | 2 +- README.md | 2 +- app/Dockerfile | 2 +- app/package.json | 3 +++ docs/developer-quickstart.md | 2 +- 7 files changed, 9 insertions(+), 6 deletions(-) diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index 8ef01033c..b6f3bf368 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -37,7 +37,7 @@ concurrency: env: GO_VERSION: "1.26.5" GOLANGCI_LINT_VERSION: "v2.12.2" - NODE_VERSION: "22" + NODE_VERSION: "24" PNPM_VERSION: "10.32.1" jobs: diff --git a/.github/workflows/release-readiness.yml b/.github/workflows/release-readiness.yml index 8abb4082f..bfdcbadbe 100644 --- a/.github/workflows/release-readiness.yml +++ b/.github/workflows/release-readiness.yml @@ -39,7 +39,7 @@ concurrency: env: GO_VERSION: "1.26.5" - NODE_VERSION: "22" + NODE_VERSION: "24" PNPM_VERSION: "10.32.1" jobs: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index cd6f7e1ca..02a2e4ed2 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -13,7 +13,7 @@ concurrency: env: GO_VERSION: "1.26.5" - NODE_VERSION: "22" + NODE_VERSION: "24" PNPM_VERSION: "10.32.1" jobs: diff --git a/README.md b/README.md index 2cd716e11..f4dc711b3 100644 --- a/README.md +++ b/README.md @@ -57,7 +57,7 @@ AgentHub 让你像在 IM 群聊里协作一样,把真人好友、Builder、Rev ## 快速开始 -最小本地启动路径(5 步)。需要 OpenSSL、Docker、Go 1.26+、Node 22+/corepack、pnpm 10+。 +最小本地启动路径(5 步)。需要 OpenSSL、Docker、Go 1.26+、Node 24+/corepack、pnpm 10+。 ```bash cp .env.example .env && secret="$(openssl rand -hex 32)" && sed -i.bak "s/^AGENTHUB_JWT_SECRET=.*/AGENTHUB_JWT_SECRET=$secret/" .env && rm -f .env.bak && export AGENTHUB_JWT_SECRET="$secret" && unset secret # 1. 复制配置并生成随机开发 secret diff --git a/app/Dockerfile b/app/Dockerfile index 28922dded..ac489b3fe 100644 --- a/app/Dockerfile +++ b/app/Dockerfile @@ -4,7 +4,7 @@ # tsc typecheck is handled by CI (cd-pr-check.yml); Docker build # runs only vite build for production optimised output. -FROM --platform=$BUILDPLATFORM node:22-alpine AS builder +FROM --platform=$BUILDPLATFORM node:24-alpine AS builder RUN corepack enable && corepack prepare pnpm@10 --activate WORKDIR /app diff --git a/app/package.json b/app/package.json index 3e7cd4e70..6dbbc1647 100644 --- a/app/package.json +++ b/app/package.json @@ -4,6 +4,9 @@ "private": true, "type": "module", "packageManager": "pnpm@10.32.1", + "engines": { + "node": ">=24" + }, "scripts": { "dev": "pnpm --filter agenthub-desktop dev", "dev:web": "pnpm --filter agenthub-web dev", diff --git a/docs/developer-quickstart.md b/docs/developer-quickstart.md index 57b906186..90fa82041 100644 --- a/docs/developer-quickstart.md +++ b/docs/developer-quickstart.md @@ -9,7 +9,7 @@ | 工具 | 用途 | |---|---| | Go 1.26+ | Hub Server / Edge Server | -| Node.js 22+ + corepack | pnpm workspace 和前端构建 | +| Node.js 24+ + corepack | pnpm workspace 和前端构建 | | PostgreSQL 16+ | Hub 数据库 | | Redis 7+ | Hub cache/session | | Git 2.40+;OpenSSL | 分支和 worktree;POSIX shell 生成本地 JWT secret |