Merge branch 'master' into feat/agc-use-ui-design
Project CI / Repository checks (pull_request) Successful in 3m44s
Project CI / Frontend tests (pull_request) Successful in 4m15s
Project CI / Backend tests (pull_request) Successful in 7m59s
Project CI / Native shell tests (pull_request) Successful in 16m2s

This commit is contained in:
2026-09-02 15:50:18 +08:00
27 changed files with 2967 additions and 178 deletions
@@ -51,8 +51,12 @@ OSS 前缀,通过 `AGC_RELEASE_VERSION` 指定三段版本号(仅在明确
AGC 发布流水线使用 `jenkins/Jenkinsfile.ai-game-creator-shell-build`,当前节点标签为
`windows && win2022`。节点应为 Windows Server 2022 x64 虚拟机,预装 Node.js 22、npm
10.9.7、Rust 1.96.0、Visual Studio Build ToolsMSVC 与 Windows SDK)、NSIS、Git 和 ossutil
Jenkins Agent 服务必须能在同一用户环境中找到这些命令。流水线执行根 workspace 的 `npm ci`,然后调
10.9.7、Rust 1.96.0、Visual Studio Build ToolsMSVC 与 Windows SDK)、Git 和 ossutil
Jenkins Agent 服务必须能在同一用户环境中找到这些命令。Tauri Windows bundler 使
`tauri.windows.conf.json` 中的 `bundle.useLocalToolsDir: true`,把固定版本的 NSIS 工具缓存到
`src-tauri/target/.tauri/NSIS`,不依赖 Jenkins 服务账户的 `%LOCALAPPDATA%\tauri` 或 PATH 中的系统 NSIS。
Jenkins Checkout 的 `git clean -fdx` 会清理该构建目录,因此每次全新工作区可能重新下载 NSIS;这只影响构建耗时,不改变工具来源或执行权限要求。
流水线执行根 workspace 的 `npm ci`,然后调用
`npm run ai-game-creator-shell:release:upload`,并归档 Windows 安装包、`latest.json` 与源码 commit。
流水线会将未导出的空参数按空字符串处理:`COMMIT_HASH` 留空时沿用 Jenkins SCM 当前提交,`OSSUTIL_BIN` 留空时使用节点 PATH 中的 `ossutil`,不会因 PowerShell 对空环境变量调用 `.Trim()` 而提前失败。