ci: align production tests with Node 22
This commit is contained in:
@@ -12,7 +12,7 @@ jobs:
|
||||
with: { python-version: '3.11' }
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '20'
|
||||
node-version: '22'
|
||||
cache: npm
|
||||
cache-dependency-path: frontend/package-lock.json
|
||||
- name: Install dependencies
|
||||
|
||||
+5
-5
@@ -449,11 +449,11 @@
|
||||
- 最近更新:2026-07-22
|
||||
- 影响面:production 发布门禁、首页主题入口、会话输入区、生时校正组件服务端渲染测试
|
||||
- 用户现象:production 应用构建成功,但完整前端测试有 7 项失败,导致最新 `main` 无法通过发布前验证。
|
||||
- 触发条件:运行完整前端测试;旧断言仍查找已移除的首页证据预览、固定 180px 模型菜单、无条件输入区类名和旧 `profile` 文案来源,组件测试还会在 Node ESM 下加载 GSAP 默认导出。
|
||||
- 根因:首页与普通 session 的布局和文案已经更新,测试契约没有随产品行为同步;`chat-message-row` 使用 GSAP 默认导入,在 Next 构建中可用,但 Node ESM 测试运行器解析到的模块形态不同。
|
||||
- 修复:测试改为锁定当前首页主题选择、内容自适应模型菜单、带首页修饰类的停靠输入区和 `profileDraft` 文案来源;GSAP 改用其正式命名导出,保持浏览器行为不变并恢复 Node ESM 组件测试。
|
||||
- 验证:6 个相关测试文件、完整前端测试、ESLint、production build 与 patch check 全部通过后方可发布。
|
||||
- 防复发:产品 UI 结构调整时必须在同一提交同步源码契约测试;跨 Next 与 Node 运行的依赖优先使用包声明的稳定命名导出。
|
||||
- 触发条件:运行完整前端测试;旧断言仍查找已移除的首页证据预览、固定 180px 模型菜单、无条件输入区类名和旧 `profile` 文案来源;旧手动 workflow 还固定在 Node 20,而当前 `@mastra/core` 明确要求 Node 22.13 以上。
|
||||
- 根因:首页与普通 session 的布局和文案已经更新,测试契约没有随产品行为同步;`Jyotish Skill Tests` 的 Node 版本也落后于其他 production 门禁和应用依赖声明,使 Node 20 把 GSAP ESM 错误解析成 CommonJS namespace。
|
||||
- 修复:测试改为锁定当前首页主题选择、内容自适应模型菜单、带首页修饰类的停靠输入区和 `profileDraft` 文案来源;GSAP 使用正式命名导出;手动 production 测试 workflow 与其余门禁统一到 Node 22。
|
||||
- 验证:6 个相关测试文件、Node 22 完整前端测试、ESLint、production build 与 patch check 全部通过后方可发布。
|
||||
- 防复发:产品 UI 结构调整时必须在同一提交同步源码契约测试;workflow 的 Node 主版本不得低于已锁定运行时依赖声明的最低版本。
|
||||
- 相关记录:BUG-022、BUG-024、BUG-025
|
||||
- 复发自:无
|
||||
- 修复版本:待提交(production gate)
|
||||
|
||||
Reference in New Issue
Block a user