mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-27 04:47:03 -06:00
fix(release): allow beta Docker backfills (#124999)
This commit is contained in:
@@ -1141,6 +1141,46 @@ describe("package acceptance workflow", () => {
|
||||
);
|
||||
});
|
||||
|
||||
it("allows Docker-only recovery for beta and extended-stable releases", () => {
|
||||
for (const release of [
|
||||
{ distTag: "beta", tag: "v2026.8.1-beta.2" },
|
||||
{ distTag: "extended-stable", tag: "v2026.7.33" },
|
||||
]) {
|
||||
const result = runReleasePublishInputValidation({
|
||||
PUBLISH_DOCKER_ONLY: "true",
|
||||
PUBLISH_OPENCLAW_NPM: "false",
|
||||
RELEASE_NPM_DIST_TAG: release.distTag,
|
||||
RELEASE_TAG: release.tag,
|
||||
});
|
||||
expect(result.status, result.stderr).toBe(0);
|
||||
}
|
||||
|
||||
const latest = runReleasePublishInputValidation({
|
||||
PUBLISH_DOCKER_ONLY: "true",
|
||||
PUBLISH_OPENCLAW_NPM: "false",
|
||||
RELEASE_NPM_DIST_TAG: "latest",
|
||||
RELEASE_TAG: "v2026.8.1",
|
||||
});
|
||||
expect(latest.status).toBe(1);
|
||||
expect(latest.stderr).toContain(
|
||||
"publish_docker_only supports already-published beta or extended-stable releases only",
|
||||
);
|
||||
|
||||
const workflow = readWorkflow(RELEASE_PUBLISH_WORKFLOW);
|
||||
const input = workflow.on?.workflow_dispatch?.inputs?.publish_docker_only as
|
||||
| { description?: string }
|
||||
| undefined;
|
||||
const verifyJob = workflowJob(RELEASE_PUBLISH_WORKFLOW, "verify_core_npm_registry");
|
||||
const verifyStep = workflowStep(
|
||||
verifyJob,
|
||||
"Verify exact npm and selector readback matches preflight bytes",
|
||||
);
|
||||
expect(input?.description).toContain("beta or extended-stable");
|
||||
expect(verifyStep.env?.RELEASE_NPM_DIST_TAG).toBe("${{ inputs.npm_dist_tag }}");
|
||||
expect(verifyStep.run).toContain('npm view "openclaw@${RELEASE_NPM_DIST_TAG}" version');
|
||||
expect(verifyStep.run).not.toContain("npm view openclaw@extended-stable version");
|
||||
});
|
||||
|
||||
it("accepts only main-reachable protected SHA-pinned release publish tags", () => {
|
||||
const workflowSha = "a".repeat(40);
|
||||
const binDir = tempDirs.make("release-publish-gh-");
|
||||
|
||||
Reference in New Issue
Block a user