Files
nekonest-cloud/tools/verify-daemon-release.mjs

45 lines
1.4 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env node
import {
ReleaseVerificationError,
formatCloudReleaseEnvironment,
verifyDaemonRelease,
} from "../release/verify-daemon-release-core.mjs";
function usage() {
return "用法: npm run release:verify -- vX.Y.Z [--json]";
}
async function main() {
const args = process.argv.slice(2);
const json = args.includes("--json");
const positional = args.filter((arg) => arg !== "--json");
if (positional.length !== 1 || args.some((arg) => arg.startsWith("--") && arg !== "--json")) {
console.error(usage());
process.exitCode = 2;
return;
}
try {
const verified = await verifyDaemonRelease({
tag: positional[0],
token: process.env.GITHUB_TOKEN?.trim() || undefined,
});
if (json) {
console.log(JSON.stringify(verified, null, 2));
return;
}
console.log(`已核验 ${verified.tag}${verified.assets.length} 个 daemon 资产与 checksums.txt 全部一致。`);
console.log("\n将以下公开值配置到 Cloud;本工具不会自动写入环境:\n");
console.log(formatCloudReleaseEnvironment(verified));
} catch (error) {
if (error instanceof ReleaseVerificationError) {
console.error(`核验失败 [${error.code}]${error.message}`);
} else {
console.error("核验失败 [unexpected_error]:发生未预期错误");
}
process.exitCode = 1;
}
}
await main();