mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-18 22:54:46 +00:00
ci: harden release publish evidence
This commit is contained in:
@@ -933,6 +933,20 @@ describe("package artifact reuse", () => {
|
||||
expect(releaseWorkflow).toContain("Plugin npm run ID");
|
||||
expect(releaseWorkflow).toContain("Plugin ClawHub run ID");
|
||||
expect(releaseWorkflow).toContain("OpenClaw npm run ID");
|
||||
expect(releaseWorkflow).toContain("npm_telegram_run_id");
|
||||
expect(releaseWorkflow).toContain("Approve release gate from OpenClaw Release Publish wrapper");
|
||||
expect(releaseWorkflow).toContain("release:verify-beta");
|
||||
expect(releaseWorkflow).toContain('--workflow-ref "${CHILD_WORKFLOW_REF}"');
|
||||
expect(releaseWorkflow).toContain('verify_args+=(--plugins "${PLUGINS}")');
|
||||
expect(releaseWorkflow).toContain("openclaw-release-postpublish-evidence");
|
||||
expect(releaseWorkflow).toContain("Failed child job summary");
|
||||
expect(releaseWorkflow).toContain("final verification waits for ClawHub");
|
||||
expect(releaseWorkflow).toContain(
|
||||
'[[ "${WAIT_FOR_CLAWHUB}" == "true" || "${PUBLISH_OPENCLAW_NPM}" == "true" ]]',
|
||||
);
|
||||
expect(releaseWorkflow.lastIndexOf("create_or_update_github_release")).toBeLessThan(
|
||||
releaseWorkflow.indexOf('if [[ -n "${clawhub_pid}" ]] && ! wait "${clawhub_pid}"'),
|
||||
);
|
||||
expect(releaseWorkflow).toContain("finished with ${conclusion} in ${duration_label}");
|
||||
});
|
||||
|
||||
|
||||
@@ -12,6 +12,8 @@ describe("parseReleaseVerifyBetaArgs", () => {
|
||||
distTag: "beta",
|
||||
repo: "openclaw/openclaw",
|
||||
registry: "https://clawhub.ai",
|
||||
workflowRef: undefined,
|
||||
pluginSelection: [],
|
||||
evidenceOut: undefined,
|
||||
skipPostpublish: false,
|
||||
rerunFailedClawHub: false,
|
||||
@@ -24,6 +26,10 @@ describe("parseReleaseVerifyBetaArgs", () => {
|
||||
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",
|
||||
@@ -45,6 +51,8 @@ describe("parseReleaseVerifyBetaArgs", () => {
|
||||
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,
|
||||
rerunFailedClawHub: true,
|
||||
|
||||
@@ -35,6 +35,26 @@ describe("release candidate checklist", () => {
|
||||
expect(buildPublishCommand(options)).toContain("'plugin_publish_scope=all-publishable'");
|
||||
});
|
||||
|
||||
it("carries the Telegram proof run into the publish command when available", () => {
|
||||
const options = {
|
||||
...parseArgs([
|
||||
"--tag",
|
||||
"v2026.5.14-beta.3",
|
||||
"--workflow-ref",
|
||||
"release/2026.5.14",
|
||||
"--full-release-run",
|
||||
"111",
|
||||
"--npm-preflight-run",
|
||||
"222",
|
||||
"--skip-dispatch",
|
||||
]),
|
||||
workflowRef: "release/2026.5.14",
|
||||
npmTelegramRunId: "333",
|
||||
};
|
||||
|
||||
expect(buildPublishCommand(options)).toContain("'npm_telegram_run_id=333'");
|
||||
});
|
||||
|
||||
it("requires explicit plugin names for selected plugin publish scope", () => {
|
||||
expect(() =>
|
||||
parseArgs(["--tag", "v2026.5.14-beta.3", "--plugin-publish-scope", "selected"]),
|
||||
|
||||
Reference in New Issue
Block a user