fix: make release deployment safely repeatable
CI / Client installer (macos-latest) (push) Canceled after 0s
CI / Client installer (ubuntu-latest) (push) Canceled after 0s
CI / Client installer (windows-latest) (push) Canceled after 0s
CI / test (22) (push) Canceled after 0s
CI / test (24) (push) Canceled after 0s
CI / release-smoke (push) Canceled after 0s

This commit is contained in:
2026-08-18 17:28:03 +00:00
parent 3b7d6a5a24
commit 55e43e3451
8 changed files with 84 additions and 12 deletions
+4 -1
View File
@@ -25,7 +25,10 @@ if (gateway.protocol !== "https:" || gateway.pathname !== "/mcp" || gateway.sear
}
const artifactNames = [...new Set(Object.values(manifest.artifacts ?? {}).map((item) => basename(String(item.url))))];
const members = ["SHA256SUMS", "install.md", "manifest.json", "manifest.sig", ...artifactNames];
execFileSync("tar", ["-czf", bundle, "-C", releaseDir, ...members]);
execFileSync("tar", [
"--sort=name", "--mtime=@0", "--owner=0", "--group=0", "--numeric-owner", "--format=ustar",
"-czf", bundle, "-C", releaseDir, ...members,
]);
const digest = createHash("sha256").update(readFileSync(bundle)).digest("hex");
let prompt = readFileSync(resolve("distribution/agent-test.template.md"), "utf8");
prompt = prompt.replaceAll("{{BUNDLE_URL}}", bundleUrl).replaceAll("{{BUNDLE_SHA256}}", digest);