ci: shard bundled plugin release sweep

This commit is contained in:
Peter Steinberger
2026-04-27 13:05:11 +01:00
parent 0dfea099d6
commit f68ef1ae7c
5 changed files with 59 additions and 24 deletions

View File

@@ -45,6 +45,9 @@ describe("scripts/lib/docker-e2e-plan", () => {
expect(plan.lanes.map((lane) => lane.name)).toContain("mcp-channels");
expect(plan.lanes.map((lane) => lane.name)).toContain("bundled-channel-feishu");
expect(plan.lanes.map((lane) => lane.name)).toContain("bundled-channel-update-acpx");
expect(plan.lanes.map((lane) => lane.name)).toContain("bundled-plugin-install-uninstall-0");
expect(plan.lanes.map((lane) => lane.name)).toContain("bundled-plugin-install-uninstall-7");
expect(plan.lanes.map((lane) => lane.name)).not.toContain("bundled-plugin-install-uninstall");
expect(plan.lanes.map((lane) => lane.name)).not.toContain("bundled-channel-deps");
expect(plan.lanes.map((lane) => lane.name)).not.toContain("openwebui");
});
@@ -111,17 +114,32 @@ describe("scripts/lib/docker-e2e-plan", () => {
]);
});
it("plans bundled plugin install/uninstall as package-backed plugin coverage", () => {
const plan = planFor({ selectedLaneNames: ["bundled-plugin-install-uninstall"] });
it("maps bundled plugin install/uninstall to package-backed shards", () => {
const selectedLaneNames = parseLaneSelection("bundled-plugin-install-uninstall");
const plan = planFor({ selectedLaneNames });
expect(plan.lanes).toEqual([
expect(selectedLaneNames).toEqual(
Array.from({ length: 8 }, (_, index) => `bundled-plugin-install-uninstall-${index}`),
);
expect(plan.lanes).toHaveLength(8);
expect(plan.lanes[0]).toEqual(
expect.objectContaining({
command: expect.stringContaining("OPENCLAW_BUNDLED_PLUGIN_SWEEP_INDEX=0"),
imageKind: "functional",
live: false,
name: "bundled-plugin-install-uninstall",
name: "bundled-plugin-install-uninstall-0",
resources: expect.arrayContaining(["docker", "npm"]),
}),
]);
);
expect(plan.lanes[7]).toEqual(
expect.objectContaining({
command: expect.stringContaining("OPENCLAW_BUNDLED_PLUGIN_SWEEP_INDEX=7"),
imageKind: "functional",
live: false,
name: "bundled-plugin-install-uninstall-7",
resources: expect.arrayContaining(["docker", "npm"]),
}),
);
expect(plan.needs).toMatchObject({
functionalImage: true,
package: true,