mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-19 09:01:39 -06:00
ec500af40a
* fix(release): isolate extended-stable Docker aliases (cherry picked from commitdb9915fedb) # Conflicts: # .agents/skills/release-openclaw-maintainer/SKILL.md # .agents/skills/release-openclaw-maintainer/references/extended-stable-backports.md # .github/workflows/docker-release.yml # docs/docs_map.md # docs/install/docker.md # docs/reference/RELEASING.md * fix(release): harden Docker channel promotion (cherry picked from commit505a6fe922) * docs(release): pin Docker policy into tagged tree (cherry picked from commit3ff98457ba) # Conflicts: # .agents/skills/release-openclaw-maintainer/SKILL.md # .agents/skills/release-openclaw-maintainer/references/extended-stable-backports.md # docs/reference/RELEASING.md * refactor(release): isolate Docker channel promotion (cherry picked from commit3d02c5c821) # Conflicts: # .agents/skills/release-openclaw-maintainer/SKILL.md # docs/reference/RELEASING.md * fix(release): queue Docker publications (cherry picked from commitb7cb1697ea) * fix(release): harden docker channel promotion (cherry picked from commit7510aa52ce) # Conflicts: # docs/reference/RELEASING.md # scripts/lib/npm-publish-plan.d.mts # scripts/lib/npm-publish-plan.mjs # scripts/openclaw-npm-postpublish-verify.ts * fix(release): promote Docker aliases after verification (cherry picked from commita13cba1484) # Conflicts: # .agents/skills/release-openclaw-maintainer/SKILL.md # docs/reference/RELEASING.md * fix(release): harden Docker channel promotion (cherry picked from commitecc07ba7a3) # Conflicts: # docs/ci.md # scripts/verify-docker-attestations.d.mts * fix(release): adapt Docker promotion to maintenance policy helpers
48 lines
1.5 KiB
TypeScript
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();
|
|
},
|
|
);
|
|
});
|