ci: split release docker integration chunks

This commit is contained in:
Peter Steinberger
2026-04-27 13:24:13 +01:00
parent 750c180a6c
commit 98b441edb1
7 changed files with 115 additions and 40 deletions

View File

@@ -68,6 +68,58 @@ describe("scripts/lib/docker-e2e-plan", () => {
expect(withOpenWebUI.lanes.map((lane) => lane.name)).toContain("openwebui");
});
it("splits the old plugins/integrations release chunk across plugin and bundled-channel chunks", () => {
const pluginsRuntime = planFor({
includeOpenWebUI: true,
profile: RELEASE_PATH_PROFILE,
releaseChunk: "plugins-runtime",
});
const bundledChannels = planFor({
includeOpenWebUI: true,
profile: RELEASE_PATH_PROFILE,
releaseChunk: "bundled-channels",
});
expect(pluginsRuntime.lanes.map((lane) => lane.name)).toEqual(
expect.arrayContaining([
"plugins",
"bundled-plugin-install-uninstall-0",
"bundled-plugin-install-uninstall-7",
"cron-mcp-cleanup",
"openai-web-search-minimal",
"openwebui",
]),
);
expect(pluginsRuntime.lanes.map((lane) => lane.name)).not.toContain("bundled-channel-telegram");
expect(bundledChannels.lanes.map((lane) => lane.name)).toEqual(
expect.arrayContaining([
"plugin-update",
"bundled-channel-telegram",
"bundled-channel-update-acpx",
]),
);
expect(bundledChannels.lanes.map((lane) => lane.name)).not.toContain("plugins");
expect(bundledChannels.lanes.map((lane) => lane.name)).not.toContain("openwebui");
});
it("keeps the legacy plugins-integrations release chunk as an aggregate alias", () => {
const legacy = planFor({
includeOpenWebUI: true,
profile: RELEASE_PATH_PROFILE,
releaseChunk: "plugins-integrations",
});
expect(legacy.lanes.map((lane) => lane.name)).toEqual(
expect.arrayContaining([
"plugins",
"bundled-plugin-install-uninstall-0",
"plugin-update",
"bundled-channel-update-acpx",
"openwebui",
]),
);
});
it("plans a live-only selected lane without package e2e images", () => {
const plan = planFor({ selectedLaneNames: ["live-models"] });