ci: rebalance test workers

This commit is contained in:
Peter Steinberger
2026-04-22 22:26:02 +01:00
parent 65ae1e54de
commit 77dbc1cda6
20 changed files with 460 additions and 111 deletions

View File

@@ -173,12 +173,27 @@ describe("scripts/test-extension.mjs", () => {
expect(plan.hasTests).toBe(true);
});
it("keeps non-provider extensions on the shared extensions vitest config", () => {
const plan = resolveExtensionTestPlan({ targetArg: "firecrawl", cwd: process.cwd() });
it("resolves broad dedicated extension groups onto their narrow vitest configs", () => {
expect(resolveExtensionTestPlan({ targetArg: "browser", cwd: process.cwd() }).config).toBe(
"test/vitest/vitest.extension-browser.config.ts",
);
expect(resolveExtensionTestPlan({ targetArg: "qa-lab", cwd: process.cwd() }).config).toBe(
"test/vitest/vitest.extension-qa.config.ts",
);
expect(resolveExtensionTestPlan({ targetArg: "vydra", cwd: process.cwd() }).config).toBe(
"test/vitest/vitest.extension-media.config.ts",
);
expect(resolveExtensionTestPlan({ targetArg: "firecrawl", cwd: process.cwd() }).config).toBe(
"test/vitest/vitest.extension-misc.config.ts",
);
});
expect(plan.extensionId).toBe("firecrawl");
it("keeps unmatched non-provider extensions on the shared extensions vitest config", () => {
const plan = resolveExtensionTestPlan({ targetArg: "codex", cwd: process.cwd() });
expect(plan.extensionId).toBe("codex");
expect(plan.config).toBe("test/vitest/vitest.extensions.config.ts");
expect(plan.roots).toContain(bundledPluginRoot("firecrawl"));
expect(plan.roots).toContain(bundledPluginRoot("codex"));
expect(plan.hasTests).toBe(true);
});
@@ -260,12 +275,16 @@ describe("scripts/test-extension.mjs", () => {
"bluebubbles",
"acpx",
"diffs",
"browser",
"qa-lab",
"vydra",
],
});
expect(batch.extensionIds).toEqual([
"acpx",
"bluebubbles",
"browser",
"diffs",
"feishu",
"firecrawl",
@@ -276,9 +295,11 @@ describe("scripts/test-extension.mjs", () => {
"memory-core",
"msteams",
"openai",
"qa-lab",
"slack",
"telegram",
"voice-call",
"vydra",
"whatsapp",
"zalo",
"zalouser",
@@ -298,6 +319,13 @@ describe("scripts/test-extension.mjs", () => {
roots: [bundledPluginRoot("bluebubbles")],
testFileCount: expect.any(Number),
},
{
config: "test/vitest/vitest.extension-browser.config.ts",
estimatedCost: expect.any(Number),
extensionIds: ["browser"],
roots: [bundledPluginRoot("browser")],
testFileCount: expect.any(Number),
},
{
config: "test/vitest/vitest.extension-diffs.config.ts",
estimatedCost: expect.any(Number),
@@ -340,6 +368,13 @@ describe("scripts/test-extension.mjs", () => {
roots: [bundledPluginRoot("mattermost")],
testFileCount: expect.any(Number),
},
{
config: "test/vitest/vitest.extension-media.config.ts",
estimatedCost: expect.any(Number),
extensionIds: ["vydra"],
roots: [bundledPluginRoot("vydra")],
testFileCount: expect.any(Number),
},
{
config: "test/vitest/vitest.extension-memory.config.ts",
estimatedCost: expect.any(Number),
@@ -347,6 +382,13 @@ describe("scripts/test-extension.mjs", () => {
roots: [bundledPluginRoot("memory-core")],
testFileCount: expect.any(Number),
},
{
config: "test/vitest/vitest.extension-misc.config.ts",
estimatedCost: expect.any(Number),
extensionIds: ["firecrawl"],
roots: [bundledPluginRoot("firecrawl")],
testFileCount: expect.any(Number),
},
{
config: "test/vitest/vitest.extension-msteams.config.ts",
estimatedCost: expect.any(Number),
@@ -361,6 +403,13 @@ describe("scripts/test-extension.mjs", () => {
roots: [bundledPluginRoot("openai")],
testFileCount: expect.any(Number),
},
{
config: "test/vitest/vitest.extension-qa.config.ts",
estimatedCost: expect.any(Number),
extensionIds: ["qa-lab"],
roots: [bundledPluginRoot("qa-lab")],
testFileCount: expect.any(Number),
},
{
config: "test/vitest/vitest.extension-slack.config.ts",
estimatedCost: expect.any(Number),
@@ -396,13 +445,6 @@ describe("scripts/test-extension.mjs", () => {
roots: [bundledPluginRoot("zalo"), bundledPluginRoot("zalouser")],
testFileCount: expect.any(Number),
},
{
config: "test/vitest/vitest.extensions.config.ts",
estimatedCost: expect.any(Number),
extensionIds: ["firecrawl"],
roots: [bundledPluginRoot("firecrawl")],
testFileCount: expect.any(Number),
},
]);
});