mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-27 21:07:01 -06:00
fix(ci): isolate OpenWebUI release smoke
Backport the missing scheduler, documentation, and focused regression proof from #103095 so stable/full release-path runs execute OpenWebUI exactly once on the dedicated lane while legacy aggregate aliases remain compatible. Partial backport of ff28c1f66639f00b8aab00ae81b9b73788c2ac06; the workflow and workflow-test portions were already present on this release branch, while the skill-only documentation remains main-only.
This commit is contained in:
committed by
Vincent Koc
parent
d6ef394c30
commit
50feb488eb
@@ -181,7 +181,7 @@ describe("scripts/lib/docker-e2e-plan", () => {
|
||||
});
|
||||
|
||||
expect(withoutOpenWebUI.lanes.map((lane) => lane.name)).not.toContain("openwebui");
|
||||
expect(withOpenWebUI.lanes.map((lane) => lane.name)).toContain("openwebui");
|
||||
expect(withOpenWebUI.lanes.filter((lane) => lane.name === "openwebui")).toHaveLength(1);
|
||||
});
|
||||
|
||||
it("keeps beta release-path coverage to install, provider, and update proof lanes", () => {
|
||||
@@ -264,6 +264,11 @@ describe("scripts/lib/docker-e2e-plan", () => {
|
||||
profile: RELEASE_PATH_PROFILE,
|
||||
releaseChunk: "plugins-runtime-services",
|
||||
});
|
||||
const openWebUI = planFor({
|
||||
includeOpenWebUI: true,
|
||||
profile: RELEASE_PATH_PROFILE,
|
||||
releaseChunk: "openwebui",
|
||||
});
|
||||
const pluginsRuntimeInstallA = planFor({
|
||||
includeOpenWebUI: true,
|
||||
profile: RELEASE_PATH_PROFILE,
|
||||
@@ -457,6 +462,8 @@ describe("scripts/lib/docker-e2e-plan", () => {
|
||||
timeoutMs: 1_200_000,
|
||||
weight: 3,
|
||||
},
|
||||
]);
|
||||
expect(openWebUI.lanes.map(summarizeLane)).toEqual([
|
||||
{
|
||||
command:
|
||||
"OPENCLAW_OPENWEBUI_MODEL=openai/gpt-5.4-mini OPENCLAW_OPENWEBUI_PROVIDER_TIMEOUT_SECONDS=300 OPENCLAW_SKIP_DOCKER_BUILD=1 pnpm test:docker:openwebui",
|
||||
@@ -592,6 +599,33 @@ describe("scripts/lib/docker-e2e-plan", () => {
|
||||
]);
|
||||
});
|
||||
|
||||
it("includes OpenWebUI exactly once in each legacy plugin aggregate", () => {
|
||||
for (const releaseChunk of [
|
||||
"plugins-runtime-core",
|
||||
"plugins-runtime",
|
||||
"plugins-integrations",
|
||||
]) {
|
||||
const withOpenWebUI = planFor({
|
||||
includeOpenWebUI: true,
|
||||
profile: RELEASE_PATH_PROFILE,
|
||||
releaseChunk,
|
||||
});
|
||||
const withoutOpenWebUI = planFor({
|
||||
includeOpenWebUI: false,
|
||||
profile: RELEASE_PATH_PROFILE,
|
||||
releaseChunk,
|
||||
});
|
||||
|
||||
expect(
|
||||
withOpenWebUI.lanes.filter((lane) => lane.name === "openwebui"),
|
||||
releaseChunk,
|
||||
).toHaveLength(1);
|
||||
expect(withoutOpenWebUI.lanes.map((lane) => lane.name), releaseChunk).not.toContain(
|
||||
"openwebui",
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
it("expands the published upgrade survivor lane across deduped baselines", () => {
|
||||
const plan = planFor({
|
||||
selectedLaneNames: ["published-upgrade-survivor"],
|
||||
|
||||
Reference in New Issue
Block a user