Files
purpur-sentinel/scripts/publish-release.ts
T
dmg b211e9d337
CI / build (pull_request) Successful in 1m16s
CI / build (push) Successful in 3m24s
feat(sentinel): alert on repeated suspicious movement
2026-10-29 08:28:27 -04:00

22 lines
1020 B
TypeScript

import { readFile } from "node:fs/promises";
import { publishRelease } from "./release-client.js";
try {
const version = process.env.VERSION ?? "";
const credential = process.env.RELEASE_CREDENTIAL ?? "";
const commit = process.env.RELEASE_COMMIT ?? "";
// Check path components and required inputs before opening an artifact or contacting Gitea.
if (!/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$/.test(version)
|| !credential || !/^[a-f0-9]{40}$/.test(commit)) throw new Error("Invalid input");
const jar = await readFile(`build/libs/purpur-sentinel-${version}.jar`);
await publishRelease({
credential, version, commit, jar,
notes: process.env.RELEASE_NOTES ?? "See the source history for changes.",
}, fetch);
console.log(`Published purpur-sentinel v${version}.`);
} catch {
// Never echo credentials, upstream error bodies, transport diagnostics or the environment.
console.error("Release publication failed; inspect the release state before retrying.");
process.exitCode = 1;
}