From 13cc6c2a5d6b92f978f9bbe3acc62bb07b0c1a04 Mon Sep 17 00:00:00 2001 From: kdletters Date: Mon, 31 Aug 2026 15:02:55 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9B=BA=E5=AE=9A=20AGC=20Windows=20x64=20?= =?UTF-8?q?=E5=8F=91=E5=B8=83=E7=9B=AE=E6=A0=87=20=E6=9E=84=E5=BB=BA?= =?UTF-8?q?=E9=BB=98=E8=AE=A4=E4=BD=BF=E7=94=A8=20x86=5F64-pc-windows-msvc?= =?UTF-8?q?=20=E6=9B=B4=E6=96=B0=E6=B8=85=E5=8D=95=E5=8F=AA=E6=89=AB?= =?UTF-8?q?=E6=8F=8F=20Windows=20NSIS=20=E5=AE=89=E8=A3=85=E5=8C=85=20?= =?UTF-8?q?=E5=90=8C=E6=AD=A5=E6=9E=84=E5=BB=BA=E4=BA=A7=E7=89=A9=E7=9B=AE?= =?UTF-8?q?=E5=BD=95=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../scripts/build-release.mjs | 20 +++++++++++++++++-- ...œ¯æ–¹æ¡ˆã€‘AGC客户端更新检查与下载-2026-08-31.md | 2 +- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/apps/ai-game-creator-shell/scripts/build-release.mjs b/apps/ai-game-creator-shell/scripts/build-release.mjs index c11996f8c..c970c8555 100644 --- a/apps/ai-game-creator-shell/scripts/build-release.mjs +++ b/apps/ai-game-creator-shell/scripts/build-release.mjs @@ -5,10 +5,14 @@ import path from 'node:path'; import { fileURLToPath } from 'node:url'; const appRoot = fileURLToPath(new URL('..', import.meta.url)); +const defaultReleaseTarget = 'x86_64-pc-windows-msvc'; +const releaseTarget = + process.env.AGC_BUILD_TARGET?.trim() || defaultReleaseTarget; const bundleRoot = path.join( appRoot, 'src-tauri', 'target', + releaseTarget, 'release', 'bundle', ); @@ -19,9 +23,21 @@ const defaultOssBaseUrl = 'https://agc-dev.oss-rg-china-mainland.aliyuncs.com/agc'; function runTauriBuild(args) { + const noBundle = args.includes('--no-bundle'); + const hasTarget = args.includes('--target'); + const targetArgs = noBundle || hasTarget ? [] : ['--target', releaseTarget]; const result = spawnSync( 'npm', - ['--prefix', '../..', 'exec', 'tauri', '--', 'build', ...args], + [ + '--prefix', + '../..', + 'exec', + 'tauri', + '--', + 'build', + ...targetArgs, + ...args, + ], { cwd: appRoot, stdio: 'inherit' }, ); if (result.error) throw result.error; @@ -38,7 +54,7 @@ function listFiles(root) { function artifactPriority(filePath) { const name = path.basename(filePath).toLowerCase(); - if (process.platform === 'win32') return name.endsWith('.exe') ? 0 : 99; + if (releaseTarget.includes('windows')) return name.endsWith('.exe') ? 0 : 99; if (process.platform === 'darwin') return name.endsWith('.dmg') ? 0 : 99; if (name.endsWith('.appimage')) return 0; if (name.endsWith('.deb')) return 1; diff --git a/docs/technical/ã€æŠ€æœ¯æ–¹æ¡ˆã€‘AGC客户端更新检查与下载-2026-08-31.md b/docs/technical/ã€æŠ€æœ¯æ–¹æ¡ˆã€‘AGC客户端更新检查与下载-2026-08-31.md index d936904a9..3d92339e7 100644 --- a/docs/technical/ã€æŠ€æœ¯æ–¹æ¡ˆã€‘AGC客户端更新检查与下载-2026-08-31.md +++ b/docs/technical/ã€æŠ€æœ¯æ–¹æ¡ˆã€‘AGC客户端更新检查与下载-2026-08-31.md @@ -29,6 +29,6 @@ AGC æ¯æ¬¡å¯åŠ¨æ—¶ç”±æ ¹çª—å£æ£€æŸ¥ä¸€æ¬¡å…¬å¼€ OSS 更新清å•。清å•默 ## å‘布约定 -执行 `npm run ai-game-creator-shell:build` 会在 Tauri 构建完æˆåŽè‡ªåŠ¨æ‰«æå¹³å°å®‰è£…包,并在 `apps/ai-game-creator-shell/src-tauri/target/release/bundle/latest.json` 生æˆåŒ…å«ç‰ˆæœ¬ã€ä¸‹è½½åœ°å€ã€å¤§å°å’Œ SHA-256 的清å•。å¯é€šè¿‡ `AGC_UPDATE_ARTIFACT` 指定è¦å‘布的安装包,通过 `AGC_UPDATE_OSS_BASE_URL` 指定 OSS å‰ç¼€ï¼Œé€šè¿‡ `AGC_UPDATE_RELEASE_NOTES` 写入å‘布说明;`--no-bundle` smoke 构建ä¸ä¼šç”Ÿæˆæ¸…å•。 +当å‰å‘布目标固定为 Windows x64 NSIS。执行 `npm run ai-game-creator-shell:build` ä¼šå‘ Tauri ä¼ å…¥ `--target x86_64-pc-windows-msvc`,在构建完æˆåŽè‡ªåŠ¨æ‰«æ `.exe` 安装包,并在 `apps/ai-game-creator-shell/src-tauri/target/x86_64-pc-windows-msvc/release/bundle/latest.json` 生æˆåŒ…å«ç‰ˆæœ¬ã€ä¸‹è½½åœ°å€ã€å¤§å°å’Œ SHA-256 的清å•。å¯é€šè¿‡ `AGC_BUILD_TARGET` 显å¼è¦†ç›–目标(å‘布ä»åº”使用 Windows x64),通过 `AGC_UPDATE_ARTIFACT` 指定è¦å‘布的安装包,通过 `AGC_UPDATE_OSS_BASE_URL` 指定 OSS å‰ç¼€ï¼Œé€šè¿‡ `AGC_UPDATE_RELEASE_NOTES` 写入å‘布说明;`--no-bundle` smoke 构建ä¸ä¼šç”Ÿæˆæ¸…å•。 æ¯æ¬¡å‘布安装包上传完æˆåŽï¼Œå†ä¸Šä¼ åŒä¸€ç›®å½•生æˆçš„ `latest.json`ï¼Œç¡®ä¿ `downloadUrl` 指å‘已存在的 OSS 对象;清å•和安装包å‡ä½¿ç”¨å…¬å¼€å¯è¯»å¯¹è±¡ï¼Œä¸åœ¨æ¸…å•中ä¿å­˜å‡­æ®ã€ç­¾å或本地路径。构建脚本ä¸è‡ªåŠ¨ä¸Šä¼  OSS,é¿å…把 AccessKey 写入本地é…置或 CI 日志。