From 7674a897cc6f45775fb82def5ea88baf7ada91d3 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sat, 9 May 2026 22:24:24 +0100 Subject: [PATCH] test(release): harden OpenWebUI release lane --- scripts/lib/docker-e2e-scenarios.mjs | 4 +++- test/scripts/docker-build-helper.test.ts | 3 +++ test/scripts/docker-e2e-plan.test.ts | 6 ++++-- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/scripts/lib/docker-e2e-scenarios.mjs b/scripts/lib/docker-e2e-scenarios.mjs index d1f58aa5969..823eaa99459 100644 --- a/scripts/lib/docker-e2e-scenarios.mjs +++ b/scripts/lib/docker-e2e-scenarios.mjs @@ -7,6 +7,8 @@ const LIVE_ACP_TIMEOUT_MS = 20 * 60 * 1000; const LIVE_CLI_TIMEOUT_MS = 20 * 60 * 1000; const LIVE_PROFILE_TIMEOUT_MS = 30 * 60 * 1000; const OPENWEBUI_TIMEOUT_MS = 20 * 60 * 1000; +const RELEASE_OPENWEBUI_COMMAND = + "OPENCLAW_OPENWEBUI_MODEL=openai/gpt-5.4-mini OPENCLAW_OPENWEBUI_PROVIDER_TIMEOUT_SECONDS=300 OPENCLAW_SKIP_DOCKER_BUILD=1 pnpm test:docker:openwebui"; export const BUNDLED_PLUGIN_INSTALL_UNINSTALL_SHARDS = 24; const upgradeSurvivorCommand = "OPENCLAW_SKIP_DOCKER_BUILD=1 pnpm test:docker:upgrade-survivor"; const updateRestartAuthCommand = @@ -655,7 +657,7 @@ const legacyReleasePathChunks = { }; function openWebUILane() { - return liveLane("openwebui", "OPENCLAW_SKIP_DOCKER_BUILD=1 pnpm test:docker:openwebui", { + return liveLane("openwebui", RELEASE_OPENWEBUI_COMMAND, { e2eImageKind: "functional", needsLiveImage: false, provider: "openai", diff --git a/test/scripts/docker-build-helper.test.ts b/test/scripts/docker-build-helper.test.ts index 6b1581063e3..bfd4a89a9dc 100644 --- a/test/scripts/docker-build-helper.test.ts +++ b/test/scripts/docker-build-helper.test.ts @@ -123,6 +123,9 @@ describe("docker build helper", () => { expect(scenarios).toContain( '"OPENCLAW_INSTALL_TAG=beta OPENCLAW_E2E_MODELS=anthropic OPENCLAW_INSTALL_E2E_IMAGE=openclaw-install-e2e-anthropic:local pnpm test:install:e2e"', ); + expect(scenarios).toContain( + '"OPENCLAW_OPENWEBUI_MODEL=openai/gpt-5.4-mini OPENCLAW_OPENWEBUI_PROVIDER_TIMEOUT_SECONDS=300 OPENCLAW_SKIP_DOCKER_BUILD=1 pnpm test:docker:openwebui"', + ); }); it("times and parallelizes release installer E2E agent turns after gateway startup", () => { diff --git a/test/scripts/docker-e2e-plan.test.ts b/test/scripts/docker-e2e-plan.test.ts index 3d8970cf73b..040a8dfd6f8 100644 --- a/test/scripts/docker-e2e-plan.test.ts +++ b/test/scripts/docker-e2e-plan.test.ts @@ -330,7 +330,8 @@ describe("scripts/lib/docker-e2e-plan", () => { weight: 3, }, { - command: "OPENCLAW_SKIP_DOCKER_BUILD=1 pnpm test:docker:openwebui", + command: + "OPENCLAW_OPENWEBUI_MODEL=openai/gpt-5.4-mini OPENCLAW_OPENWEBUI_PROVIDER_TIMEOUT_SECONDS=300 OPENCLAW_SKIP_DOCKER_BUILD=1 pnpm test:docker:openwebui", imageKind: "functional", live: true, name: "openwebui", @@ -652,7 +653,8 @@ describe("scripts/lib/docker-e2e-plan", () => { expect(plan.credentials).toEqual(["openai"]); expect(plan.lanes.map(summarizeLane)).toEqual([ { - command: "OPENCLAW_SKIP_DOCKER_BUILD=1 pnpm test:docker:openwebui", + command: + "OPENCLAW_OPENWEBUI_MODEL=openai/gpt-5.4-mini OPENCLAW_OPENWEBUI_PROVIDER_TIMEOUT_SECONDS=300 OPENCLAW_SKIP_DOCKER_BUILD=1 pnpm test:docker:openwebui", imageKind: "functional", live: true, name: "openwebui",