openclaw/test/scripts/release-beta-verifier.test.ts
Peter Steinberger 2a01fbb56c
Some checks are pending
CI / preflight (push) Waiting to run
CI / security-fast (push) Waiting to run
CI / build-artifacts (push) Blocked by required conditions
CI / (push) Blocked by required conditions
CI / -1 (push) Blocked by required conditions
CI / -2 (push) Blocked by required conditions
CI / checks-node-compat-node22 (push) Blocked by required conditions
CI / -3 (push) Blocked by required conditions
CI / check-dependencies (push) Blocked by required conditions
CI / check-guards (push) Blocked by required conditions
CI / check-lint (push) Blocked by required conditions
CI / check-prod-types (push) Blocked by required conditions
CI / check-test-types (push) Blocked by required conditions
CI / check-additional-boundaries-a (push) Blocked by required conditions
CI / check-additional-boundaries-bcd (push) Blocked by required conditions
CI / check-additional-extension-bundled (push) Blocked by required conditions
CI / check-additional-extension-channels (push) Blocked by required conditions
CI / check-additional-extension-package-boundary (push) Blocked by required conditions
CI / check-additional-runtime-topology-architecture (push) Blocked by required conditions
CI / check-docs (push) Blocked by required conditions
CI / skills-python (push) Blocked by required conditions
CI / -4 (push) Blocked by required conditions
CI / -5 (push) Blocked by required conditions
CI / macos-swift (push) Blocked by required conditions
CI / -6 (push) Blocked by required conditions
ClawSweeper Dispatch / dispatch (push) Waiting to run
Workflow Sanity / no-tabs (push) Waiting to run
Workflow Sanity / actionlint (push) Waiting to run
Workflow Sanity / generated-doc-baselines (push) Waiting to run
ci: keep ClawHub advisory for alpha publish
2026-05-20 01:57:00 +01:00

107 lines
2.8 KiB
TypeScript

import { describe, expect, it } from "vitest";
import {
parseNpmViewFields,
parseReleaseVerifyBetaArgs,
} from "../../scripts/lib/release-beta-verifier.ts";
describe("parseReleaseVerifyBetaArgs", () => {
it("defaults beta verification to the matching tag and repo", () => {
expect(parseReleaseVerifyBetaArgs(["2026.5.10-beta.3"])).toEqual({
version: "2026.5.10-beta.3",
tag: "v2026.5.10-beta.3",
distTag: "beta",
repo: "openclaw/openclaw",
registry: "https://clawhub.ai",
workflowRef: undefined,
pluginSelection: [],
evidenceOut: undefined,
skipPostpublish: false,
skipClawHub: false,
rerunFailedClawHub: false,
workflowRuns: {},
});
});
it("parses child run IDs and repair flags", () => {
expect(
parseReleaseVerifyBetaArgs([
"--",
"2026.5.10-beta.3",
"--workflow-ref",
"release/2026.5.10",
"--plugins",
"@openclaw/plugin-a,@openclaw/plugin-b",
"--full-release-validation-run",
"10",
"--openclaw-npm-run",
"11",
"--plugin-npm-run",
"22",
"--plugin-clawhub-run",
"33",
"--npm-telegram-run",
"44",
"--evidence-out",
".artifacts/release-evidence.json",
"--skip-postpublish",
"--skip-clawhub",
"--rerun-failed-clawhub",
]),
).toEqual({
version: "2026.5.10-beta.3",
tag: "v2026.5.10-beta.3",
distTag: "beta",
repo: "openclaw/openclaw",
registry: "https://clawhub.ai",
workflowRef: "release/2026.5.10",
pluginSelection: ["@openclaw/plugin-a", "@openclaw/plugin-b"],
evidenceOut: ".artifacts/release-evidence.json",
skipPostpublish: true,
skipClawHub: true,
rerunFailedClawHub: true,
workflowRuns: {
fullReleaseValidation: "10",
openclawNpm: "11",
pluginNpm: "22",
pluginClawHub: "33",
npmTelegram: "44",
},
});
});
});
describe("parseNpmViewFields", () => {
it("accepts keyed npm view JSON", () => {
expect(
parseNpmViewFields(
JSON.stringify({
version: "2026.5.10-beta.3",
"dist-tags.beta": "2026.5.10-beta.3",
"dist.integrity": "sha512-test",
}),
"beta",
),
).toEqual({
version: "2026.5.10-beta.3",
distTagVersion: "2026.5.10-beta.3",
integrity: "sha512-test",
});
});
it("accepts nested npm view JSON", () => {
expect(
parseNpmViewFields(
JSON.stringify({
version: "2026.5.10-beta.3",
"dist-tags": { beta: "2026.5.10-beta.3" },
dist: { integrity: "sha512-test" },
}),
"beta",
),
).toEqual({
version: "2026.5.10-beta.3",
distTagVersion: "2026.5.10-beta.3",
integrity: "sha512-test",
});
});
});