fix(ci): isolate OpenWebUI release smoke (#103095)

* fix(ci): isolate OpenWebUI release smoke

* docs: format release validation table
This commit is contained in:
Peter Steinberger
2026-07-09 21:38:33 +01:00
committed by GitHub
parent bb16ca50d6
commit 71f7fef7a2
8 changed files with 88 additions and 28 deletions
+35 -1
View File
@@ -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"],
@@ -1745,6 +1745,24 @@ describe("package artifact reuse", () => {
}
});
it("isolates Open WebUI release coverage on a lean large-disk runner", () => {
const job = workflowJob(LIVE_E2E_WORKFLOW, "validate_docker_openwebui");
const setupNode = workflowStep(job, "Setup Node environment");
expect(job.if).toBe(
"inputs.include_openwebui && inputs.docker_lanes == '' && (inputs.release_test_profile == 'stable' || inputs.release_test_profile == 'full')",
);
expect(job["runs-on"]).toBe("blacksmith-32vcpu-ubuntu-2404");
expect(job.env?.OPENCLAW_DOCKER_ALL_RELEASE_PROFILE).toBe(
"${{ inputs.release_test_profile }}",
);
expect(setupNode.with).toMatchObject({
"install-bun": "false",
"install-deps": "false",
"use-actions-cache": "false",
});
});
it("names package acceptance Telegram as artifact-backed package validation", () => {
const workflow = readFileSync(PACKAGE_ACCEPTANCE_WORKFLOW, "utf8");