mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-06 20:40:43 +00:00
ci: rebalance test workers
This commit is contained in:
5
test/vitest/vitest.extension-browser-paths.mjs
Normal file
5
test/vitest/vitest.extension-browser-paths.mjs
Normal file
@@ -0,0 +1,5 @@
|
||||
export const browserExtensionTestRoots = ["extensions/browser"];
|
||||
|
||||
export function isBrowserExtensionRoot(root) {
|
||||
return browserExtensionTestRoots.includes(root);
|
||||
}
|
||||
@@ -1,8 +1,27 @@
|
||||
import { browserExtensionTestRoots } from "./vitest.extension-browser-paths.mjs";
|
||||
import { loadPatternListFromEnv } from "./vitest.pattern-file.ts";
|
||||
import { createScopedVitestConfig } from "./vitest.scoped-config.ts";
|
||||
|
||||
export default createScopedVitestConfig(["browser/**/*.test.ts"], {
|
||||
dir: "extensions",
|
||||
name: "extension-browser",
|
||||
passWithNoTests: true,
|
||||
setupFiles: ["test/setup.extensions.ts"],
|
||||
});
|
||||
export function loadIncludePatternsFromEnv(
|
||||
env: Record<string, string | undefined> = process.env,
|
||||
): string[] | null {
|
||||
return loadPatternListFromEnv("OPENCLAW_VITEST_INCLUDE_FILE", env);
|
||||
}
|
||||
|
||||
export function createExtensionBrowserVitestConfig(
|
||||
env: Record<string, string | undefined> = process.env,
|
||||
) {
|
||||
return createScopedVitestConfig(
|
||||
loadIncludePatternsFromEnv(env) ??
|
||||
browserExtensionTestRoots.map((root) => `${root}/**/*.test.ts`),
|
||||
{
|
||||
dir: "extensions",
|
||||
env,
|
||||
name: "extension-browser",
|
||||
passWithNoTests: true,
|
||||
setupFiles: ["test/setup.extensions.ts"],
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
export default createExtensionBrowserVitestConfig();
|
||||
|
||||
16
test/vitest/vitest.extension-media-paths.mjs
Normal file
16
test/vitest/vitest.extension-media-paths.mjs
Normal file
@@ -0,0 +1,16 @@
|
||||
export const mediaExtensionTestRoots = [
|
||||
"extensions/alibaba",
|
||||
"extensions/deepgram",
|
||||
"extensions/elevenlabs",
|
||||
"extensions/fal",
|
||||
"extensions/image-generation-core",
|
||||
"extensions/runway",
|
||||
"extensions/talk-voice",
|
||||
"extensions/video-generation-core",
|
||||
"extensions/vydra",
|
||||
"extensions/xiaomi",
|
||||
];
|
||||
|
||||
export function isMediaExtensionRoot(root) {
|
||||
return mediaExtensionTestRoots.includes(root);
|
||||
}
|
||||
@@ -1,22 +1,27 @@
|
||||
import { mediaExtensionTestRoots } from "./vitest.extension-media-paths.mjs";
|
||||
import { loadPatternListFromEnv } from "./vitest.pattern-file.ts";
|
||||
import { createScopedVitestConfig } from "./vitest.scoped-config.ts";
|
||||
|
||||
export default createScopedVitestConfig(
|
||||
[
|
||||
"alibaba/**/*.test.ts",
|
||||
"deepgram/**/*.test.ts",
|
||||
"elevenlabs/**/*.test.ts",
|
||||
"fal/**/*.test.ts",
|
||||
"image-generation-core/**/*.test.ts",
|
||||
"runway/**/*.test.ts",
|
||||
"talk-voice/**/*.test.ts",
|
||||
"video-generation-core/**/*.test.ts",
|
||||
"vydra/**/*.test.ts",
|
||||
"xiaomi/**/*.test.ts",
|
||||
],
|
||||
{
|
||||
dir: "extensions",
|
||||
name: "extension-media",
|
||||
passWithNoTests: true,
|
||||
setupFiles: ["test/setup.extensions.ts"],
|
||||
},
|
||||
);
|
||||
export function loadIncludePatternsFromEnv(
|
||||
env: Record<string, string | undefined> = process.env,
|
||||
): string[] | null {
|
||||
return loadPatternListFromEnv("OPENCLAW_VITEST_INCLUDE_FILE", env);
|
||||
}
|
||||
|
||||
export function createExtensionMediaVitestConfig(
|
||||
env: Record<string, string | undefined> = process.env,
|
||||
) {
|
||||
return createScopedVitestConfig(
|
||||
loadIncludePatternsFromEnv(env) ??
|
||||
mediaExtensionTestRoots.map((root) => `${root}/**/*.test.ts`),
|
||||
{
|
||||
dir: "extensions",
|
||||
env,
|
||||
name: "extension-media",
|
||||
passWithNoTests: true,
|
||||
setupFiles: ["test/setup.extensions.ts"],
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
export default createExtensionMediaVitestConfig();
|
||||
|
||||
29
test/vitest/vitest.extension-misc-paths.mjs
Normal file
29
test/vitest/vitest.extension-misc-paths.mjs
Normal file
@@ -0,0 +1,29 @@
|
||||
export const miscExtensionTestRoots = [
|
||||
"extensions/arcee",
|
||||
"extensions/brave",
|
||||
"extensions/device-pair",
|
||||
"extensions/diagnostics-otel",
|
||||
"extensions/duckduckgo",
|
||||
"extensions/exa",
|
||||
"extensions/firecrawl",
|
||||
"extensions/fireworks",
|
||||
"extensions/kilocode",
|
||||
"extensions/litellm",
|
||||
"extensions/llm-task",
|
||||
"extensions/lobster",
|
||||
"extensions/opencode",
|
||||
"extensions/opencode-go",
|
||||
"extensions/openshell",
|
||||
"extensions/perplexity",
|
||||
"extensions/phone-control",
|
||||
"extensions/searxng",
|
||||
"extensions/synthetic",
|
||||
"extensions/tavily",
|
||||
"extensions/thread-ownership",
|
||||
"extensions/vercel-ai-gateway",
|
||||
"extensions/webhooks",
|
||||
];
|
||||
|
||||
export function isMiscExtensionRoot(root) {
|
||||
return miscExtensionTestRoots.includes(root);
|
||||
}
|
||||
@@ -1,35 +1,26 @@
|
||||
import { miscExtensionTestRoots } from "./vitest.extension-misc-paths.mjs";
|
||||
import { loadPatternListFromEnv } from "./vitest.pattern-file.ts";
|
||||
import { createScopedVitestConfig } from "./vitest.scoped-config.ts";
|
||||
|
||||
export default createScopedVitestConfig(
|
||||
[
|
||||
"arcee/**/*.test.ts",
|
||||
"brave/**/*.test.ts",
|
||||
"device-pair/**/*.test.ts",
|
||||
"diagnostics-otel/**/*.test.ts",
|
||||
"duckduckgo/**/*.test.ts",
|
||||
"exa/**/*.test.ts",
|
||||
"firecrawl/**/*.test.ts",
|
||||
"fireworks/**/*.test.ts",
|
||||
"kilocode/**/*.test.ts",
|
||||
"litellm/**/*.test.ts",
|
||||
"llm-task/**/*.test.ts",
|
||||
"lobster/**/*.test.ts",
|
||||
"opencode/**/*.test.ts",
|
||||
"opencode-go/**/*.test.ts",
|
||||
"openshell/**/*.test.ts",
|
||||
"perplexity/**/*.test.ts",
|
||||
"phone-control/**/*.test.ts",
|
||||
"searxng/**/*.test.ts",
|
||||
"synthetic/**/*.test.ts",
|
||||
"tavily/**/*.test.ts",
|
||||
"thread-ownership/**/*.test.ts",
|
||||
"vercel-ai-gateway/**/*.test.ts",
|
||||
"webhooks/**/*.test.ts",
|
||||
],
|
||||
{
|
||||
dir: "extensions",
|
||||
name: "extension-misc",
|
||||
passWithNoTests: true,
|
||||
setupFiles: ["test/setup.extensions.ts"],
|
||||
},
|
||||
);
|
||||
export function loadIncludePatternsFromEnv(
|
||||
env: Record<string, string | undefined> = process.env,
|
||||
): string[] | null {
|
||||
return loadPatternListFromEnv("OPENCLAW_VITEST_INCLUDE_FILE", env);
|
||||
}
|
||||
|
||||
export function createExtensionMiscVitestConfig(
|
||||
env: Record<string, string | undefined> = process.env,
|
||||
) {
|
||||
return createScopedVitestConfig(
|
||||
loadIncludePatternsFromEnv(env) ?? miscExtensionTestRoots.map((root) => `${root}/**/*.test.ts`),
|
||||
{
|
||||
dir: "extensions",
|
||||
env,
|
||||
name: "extension-misc",
|
||||
passWithNoTests: true,
|
||||
setupFiles: ["test/setup.extensions.ts"],
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
export default createExtensionMiscVitestConfig();
|
||||
|
||||
5
test/vitest/vitest.extension-qa-paths.mjs
Normal file
5
test/vitest/vitest.extension-qa-paths.mjs
Normal file
@@ -0,0 +1,5 @@
|
||||
export const qaExtensionTestRoots = ["extensions/qa-channel", "extensions/qa-lab"];
|
||||
|
||||
export function isQaExtensionRoot(root) {
|
||||
return qaExtensionTestRoots.includes(root);
|
||||
}
|
||||
@@ -1,8 +1,26 @@
|
||||
import { qaExtensionTestRoots } from "./vitest.extension-qa-paths.mjs";
|
||||
import { loadPatternListFromEnv } from "./vitest.pattern-file.ts";
|
||||
import { createScopedVitestConfig } from "./vitest.scoped-config.ts";
|
||||
|
||||
export default createScopedVitestConfig(["qa-channel/**/*.test.ts", "qa-lab/**/*.test.ts"], {
|
||||
dir: "extensions",
|
||||
name: "extension-qa",
|
||||
passWithNoTests: true,
|
||||
setupFiles: ["test/setup.extensions.ts"],
|
||||
});
|
||||
export function loadIncludePatternsFromEnv(
|
||||
env: Record<string, string | undefined> = process.env,
|
||||
): string[] | null {
|
||||
return loadPatternListFromEnv("OPENCLAW_VITEST_INCLUDE_FILE", env);
|
||||
}
|
||||
|
||||
export function createExtensionQaVitestConfig(
|
||||
env: Record<string, string | undefined> = process.env,
|
||||
) {
|
||||
return createScopedVitestConfig(
|
||||
loadIncludePatternsFromEnv(env) ?? qaExtensionTestRoots.map((root) => `${root}/**/*.test.ts`),
|
||||
{
|
||||
dir: "extensions",
|
||||
env,
|
||||
name: "extension-qa",
|
||||
passWithNoTests: true,
|
||||
setupFiles: ["test/setup.extensions.ts"],
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
export default createExtensionQaVitestConfig();
|
||||
|
||||
@@ -2,18 +2,22 @@ import { BUNDLED_PLUGIN_TEST_GLOB } from "./vitest.bundled-plugin-paths.ts";
|
||||
import { extensionExcludedChannelTestGlobs } from "./vitest.channel-paths.mjs";
|
||||
import { acpxExtensionTestRoots } from "./vitest.extension-acpx-paths.mjs";
|
||||
import { blueBubblesExtensionTestRoots } from "./vitest.extension-bluebubbles-paths.mjs";
|
||||
import { browserExtensionTestRoots } from "./vitest.extension-browser-paths.mjs";
|
||||
import { diffsExtensionTestRoots } from "./vitest.extension-diffs-paths.mjs";
|
||||
import { feishuExtensionTestRoots } from "./vitest.extension-feishu-paths.mjs";
|
||||
import { ircExtensionTestRoots } from "./vitest.extension-irc-paths.mjs";
|
||||
import { matrixExtensionTestRoots } from "./vitest.extension-matrix-paths.mjs";
|
||||
import { mattermostExtensionTestRoots } from "./vitest.extension-mattermost-paths.mjs";
|
||||
import { mediaExtensionTestRoots } from "./vitest.extension-media-paths.mjs";
|
||||
import { memoryExtensionTestRoots } from "./vitest.extension-memory-paths.mjs";
|
||||
import { messagingExtensionTestRoots } from "./vitest.extension-messaging-paths.mjs";
|
||||
import { miscExtensionTestRoots } from "./vitest.extension-misc-paths.mjs";
|
||||
import { msTeamsExtensionTestRoots } from "./vitest.extension-msteams-paths.mjs";
|
||||
import {
|
||||
providerExtensionTestRoots,
|
||||
providerOpenAiExtensionTestRoots,
|
||||
} from "./vitest.extension-provider-paths.mjs";
|
||||
import { qaExtensionTestRoots } from "./vitest.extension-qa-paths.mjs";
|
||||
import { telegramExtensionTestRoots } from "./vitest.extension-telegram-paths.mjs";
|
||||
import { voiceCallExtensionTestRoots } from "./vitest.extension-voice-call-paths.mjs";
|
||||
import { whatsAppExtensionTestRoots } from "./vitest.extension-whatsapp-paths.mjs";
|
||||
@@ -42,16 +46,20 @@ export function createExtensionsVitestConfig(
|
||||
...extensionExcludedChannelTestGlobs,
|
||||
...acpxExtensionTestRoots.map((root) => `${root.replace(/^extensions\//u, "")}/**`),
|
||||
...blueBubblesExtensionTestRoots.map((root) => `${root.replace(/^extensions\//u, "")}/**`),
|
||||
...browserExtensionTestRoots.map((root) => `${root.replace(/^extensions\//u, "")}/**`),
|
||||
...diffsExtensionTestRoots.map((root) => `${root.replace(/^extensions\//u, "")}/**`),
|
||||
...feishuExtensionTestRoots.map((root) => `${root.replace(/^extensions\//u, "")}/**`),
|
||||
...ircExtensionTestRoots.map((root) => `${root.replace(/^extensions\//u, "")}/**`),
|
||||
...matrixExtensionTestRoots.map((root) => `${root.replace(/^extensions\//u, "")}/**`),
|
||||
...mattermostExtensionTestRoots.map((root) => `${root.replace(/^extensions\//u, "")}/**`),
|
||||
...mediaExtensionTestRoots.map((root) => `${root.replace(/^extensions\//u, "")}/**`),
|
||||
...memoryExtensionTestRoots.map((root) => `${root.replace(/^extensions\//u, "")}/**`),
|
||||
...messagingExtensionTestRoots.map((root) => `${root.replace(/^extensions\//u, "")}/**`),
|
||||
...miscExtensionTestRoots.map((root) => `${root.replace(/^extensions\//u, "")}/**`),
|
||||
...msTeamsExtensionTestRoots.map((root) => `${root.replace(/^extensions\//u, "")}/**`),
|
||||
...providerOpenAiExtensionTestRoots.map((root) => `${root.replace(/^extensions\//u, "")}/**`),
|
||||
...providerExtensionTestRoots.map((root) => `${root.replace(/^extensions\//u, "")}/**`),
|
||||
...qaExtensionTestRoots.map((root) => `${root.replace(/^extensions\//u, "")}/**`),
|
||||
...telegramExtensionTestRoots.map((root) => `${root.replace(/^extensions\//u, "")}/**`),
|
||||
...voiceCallExtensionTestRoots.map((root) => `${root.replace(/^extensions\//u, "")}/**`),
|
||||
...whatsAppExtensionTestRoots.map((root) => `${root.replace(/^extensions\//u, "")}/**`),
|
||||
|
||||
Reference in New Issue
Block a user