mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-15 22:00:42 +00:00
27 lines
1000 B
JavaScript
27 lines
1000 B
JavaScript
import fs from "node:fs";
|
|
|
|
const payload = JSON.parse(fs.readFileSync(process.argv[2], "utf8"));
|
|
const expectedBefore = process.argv[3];
|
|
const expectedAfter = process.argv[4];
|
|
if (payload.status !== "ok") {
|
|
throw new Error(`expected update status ok, got ${JSON.stringify(payload.status)}`);
|
|
}
|
|
if (expectedBefore && (payload.before?.version ?? null) !== expectedBefore) {
|
|
throw new Error(
|
|
`expected before.version ${expectedBefore}, got ${JSON.stringify(payload.before?.version)}`,
|
|
);
|
|
}
|
|
if ((payload.after?.version ?? null) !== expectedAfter) {
|
|
throw new Error(
|
|
`expected after.version ${expectedAfter}, got ${JSON.stringify(payload.after?.version)}`,
|
|
);
|
|
}
|
|
const steps = Array.isArray(payload.steps) ? payload.steps : [];
|
|
const doctor = steps.find((step) => step?.name === "openclaw doctor");
|
|
if (!doctor) {
|
|
throw new Error("missing openclaw doctor step");
|
|
}
|
|
if (Number(doctor.exitCode ?? 1) !== 0) {
|
|
throw new Error(`openclaw doctor step failed: ${JSON.stringify(doctor)}`);
|
|
}
|