Files
openclaw/test/scripts/docker-release-policy.test.ts
Dallin Romney 74cc99f2d1 fix(release): publish extended-stable Docker channels safely (#112494)
* fix(release): isolate extended-stable Docker aliases

* fix(release): harden Docker channel promotion

* docs(release): pin Docker policy into tagged tree

* refactor(release): isolate Docker channel promotion

* fix(release): queue Docker publications

* fix(release): harden docker channel promotion

* docs(release): tighten extended-stable guidance

* fix(release): promote Docker aliases after verification

* chore(release): format maintainer instructions

* refactor(release): separate release version policy

* docs(release): clarify extended-stable gateway scope

* fix(release): harden Docker channel promotion
2026-07-23 10:03:11 +09:00

48 lines
1.5 KiB
TypeScript

import { describe, expect, it } from "vitest";
import { resolveDockerReleasePolicy } from "../../scripts/lib/docker-release-policy.mjs";
describe("Docker release policy", () => {
it("advances regular stable aliases only for final and correction patches below 33", () => {
for (const version of ["2026.7.1", "2026.7.1-2"]) {
expect(resolveDockerReleasePolicy(version)).toEqual({
version,
channel: "stable",
movingAliases: {
default: ["latest", "main"],
slim: ["slim", "main-slim"],
browser: ["latest-browser", "main-browser"],
},
});
}
});
it("keeps extended-stable releases on dedicated moving aliases", () => {
for (const version of ["2026.6.33", "2026.6.34", "2026.6.99"]) {
expect(resolveDockerReleasePolicy(version)).toEqual({
version,
channel: "extended-stable",
movingAliases: {
default: ["extended-stable"],
slim: ["extended-stable-slim"],
browser: ["extended-stable-browser"],
},
});
}
});
it("publishes beta versions without moving a channel alias", () => {
expect(resolveDockerReleasePolicy("2026.7.2-beta.3")).toEqual({
version: "2026.7.2-beta.3",
channel: "beta",
movingAliases: { default: [], slim: [], browser: [] },
});
});
it.each(["2026.6.33-1", "2026.6.33-alpha.1", "2026.0.33", "not-a-version"])(
"rejects unsupported release version %s",
(version) => {
expect(() => resolveDockerReleasePolicy(version)).toThrow();
},
);
});