23 lines
1.0 KiB
JavaScript
23 lines
1.0 KiB
JavaScript
import { execFileSync } from "node:child_process";
|
|
import { readFileSync } from "node:fs";
|
|
import { resolve } from "node:path";
|
|
|
|
import { buildAndValidatePortablePackage } from "./lib/portable-package.mjs";
|
|
import { validateFinalReleaseRecord } from "./lib/wp7-07-final-release.mjs";
|
|
|
|
const outputIndex = process.argv.indexOf("--output");
|
|
const outputRoot = outputIndex >= 0 ? resolve(process.argv[outputIndex + 1]) : resolve(".build", "portable-release");
|
|
const previousRelease = JSON.parse(readFileSync(resolve("RELEASE.json"), "utf8"));
|
|
const releaseRecord = validateFinalReleaseRecord({
|
|
...previousRelease,
|
|
buildCommit: execFileSync("git", ["rev-parse", "HEAD"], { encoding: "utf8" }).trim(),
|
|
maintenanceFromCommit: previousRelease.buildCommit,
|
|
recordedAt: new Date().toISOString(),
|
|
});
|
|
const result = await buildAndValidatePortablePackage({ outputRoot, releaseRecord });
|
|
console.log(JSON.stringify({
|
|
package: result.packageManifest.package_name,
|
|
sha256: result.packageManifest.zip_sha256,
|
|
status: result.status,
|
|
}, null, 2));
|