25 lines
847 B
TypeScript
25 lines
847 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 ?? "";
|
|
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-carry-${version}.jar`);
|
|
await publishRelease({
|
|
credential,
|
|
version,
|
|
commit,
|
|
jar,
|
|
notes: process.env.RELEASE_NOTES ?? "See the source history for changes.",
|
|
}, fetch);
|
|
console.log(`Published purpur-carry v${version}.`);
|
|
} catch {
|
|
console.error("Release publication failed; inspect the release state before retrying.");
|
|
process.exitCode = 1;
|
|
}
|