feat(self-hosted): acr update 內容指紋跳過未變動 worker(22 個沒變的不再白跑)+ --force 強制全部重部

壓測 2026-06-12:22/23 成功後重跑仍全部 pnpm install + wrangler deploy。
manifest 存 ~/.arcrun/deploy-manifest.json,指紋含注入後內容+accountId(換帳號/KV 自動重部),
只在成功後記錄(失敗者下次必重試)。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
uncle6me-web
2026-06-13 13:35:15 +08:00
parent 5a8d27673b
commit b44adda6d2
3 changed files with 78 additions and 6 deletions
+2 -2
View File
@@ -20,7 +20,7 @@ import {
type DeployContext,
} from '../lib/deploy.js';
export async function cmdUpdate(): Promise<void> {
export async function cmdUpdate(opts: { force?: boolean } = {}): Promise<void> {
const config = loadConfig();
if (config.mode !== 'self-hosted') {
@@ -81,7 +81,7 @@ export async function cmdUpdate(): Promise<void> {
d1DatabaseId: d1DatabaseId || undefined,
};
const result = await downloadAndDeploy(ctx);
const result = await downloadAndDeploy(ctx, 'main', { force: opts.force });
if (result.implemented) {
// message 含部分失敗清單(「部署 X/Y 成功,N 失敗:✗ ...」)——必須印出來,