perf: split more targeted test lanes

This commit is contained in:
Peter Steinberger
2026-04-04 06:05:13 +01:00
parent 5ddc57aa22
commit 0777ddace8
26 changed files with 759 additions and 72 deletions

View File

@@ -5,12 +5,17 @@ import { isAcpxExtensionRoot } from "../../vitest.extension-acpx-paths.mjs";
import { isBlueBubblesExtensionRoot } from "../../vitest.extension-bluebubbles-paths.mjs";
import { isDiffsExtensionRoot } from "../../vitest.extension-diffs-paths.mjs";
import { isFeishuExtensionRoot } from "../../vitest.extension-feishu-paths.mjs";
import { isIrcExtensionRoot } from "../../vitest.extension-irc-paths.mjs";
import { isMatrixExtensionRoot } from "../../vitest.extension-matrix-paths.mjs";
import { isMattermostExtensionRoot } from "../../vitest.extension-mattermost-paths.mjs";
import { isMemoryExtensionRoot } from "../../vitest.extension-memory-paths.mjs";
import { isMessagingExtensionRoot } from "../../vitest.extension-messaging-paths.mjs";
import { isMsTeamsExtensionRoot } from "../../vitest.extension-msteams-paths.mjs";
import { isProviderExtensionRoot } from "../../vitest.extension-provider-paths.mjs";
import { isTelegramExtensionRoot } from "../../vitest.extension-telegram-paths.mjs";
import { isVoiceCallExtensionRoot } from "../../vitest.extension-voice-call-paths.mjs";
import { isWhatsAppExtensionRoot } from "../../vitest.extension-whatsapp-paths.mjs";
import { isZaloExtensionRoot } from "../../vitest.extension-zalo-paths.mjs";
import { BUNDLED_PLUGIN_PATH_PREFIX, BUNDLED_PLUGIN_ROOT_DIR } from "./bundled-plugin-paths.mjs";
import { listAvailableExtensionIds } from "./changed-extensions.mjs";
@@ -103,7 +108,12 @@ export function resolveExtensionTestPlan(params = {}) {
const usesDiffsConfig = roots.some((root) => isDiffsExtensionRoot(root));
const usesBlueBubblesConfig = roots.some((root) => isBlueBubblesExtensionRoot(root));
const usesFeishuConfig = roots.some((root) => isFeishuExtensionRoot(root));
const usesIrcConfig = roots.some((root) => isIrcExtensionRoot(root));
const usesMattermostConfig = roots.some((root) => isMattermostExtensionRoot(root));
const usesTelegramConfig = roots.some((root) => isTelegramExtensionRoot(root));
const usesVoiceCallConfig = roots.some((root) => isVoiceCallExtensionRoot(root));
const usesWhatsAppConfig = roots.some((root) => isWhatsAppExtensionRoot(root));
const usesZaloConfig = roots.some((root) => isZaloExtensionRoot(root));
const usesMatrixConfig = roots.some((root) => isMatrixExtensionRoot(root));
const usesMemoryConfig = roots.some((root) => isMemoryExtensionRoot(root));
const usesMsTeamsConfig = roots.some((root) => isMsTeamsExtensionRoot(root));
@@ -119,19 +129,29 @@ export function resolveExtensionTestPlan(params = {}) {
? "vitest.extension-bluebubbles.config.ts"
: usesFeishuConfig
? "vitest.extension-feishu.config.ts"
: usesMatrixConfig
? "vitest.extension-matrix.config.ts"
: usesTelegramConfig
? "vitest.extension-telegram.config.ts"
: usesMemoryConfig
? "vitest.extension-memory.config.ts"
: usesMsTeamsConfig
? "vitest.extension-msteams.config.ts"
: usesMessagingConfig
? "vitest.extension-messaging.config.ts"
: usesProviderConfig
? "vitest.extension-providers.config.ts"
: "vitest.extensions.config.ts";
: usesIrcConfig
? "vitest.extension-irc.config.ts"
: usesMattermostConfig
? "vitest.extension-mattermost.config.ts"
: usesMatrixConfig
? "vitest.extension-matrix.config.ts"
: usesTelegramConfig
? "vitest.extension-telegram.config.ts"
: usesVoiceCallConfig
? "vitest.extension-voice-call.config.ts"
: usesWhatsAppConfig
? "vitest.extension-whatsapp.config.ts"
: usesZaloConfig
? "vitest.extension-zalo.config.ts"
: usesMemoryConfig
? "vitest.extension-memory.config.ts"
: usesMsTeamsConfig
? "vitest.extension-msteams.config.ts"
: usesMessagingConfig
? "vitest.extension-messaging.config.ts"
: usesProviderConfig
? "vitest.extension-providers.config.ts"
: "vitest.extensions.config.ts";
const testFileCount = roots.reduce(
(sum, root) => sum + countTestFiles(path.join(repoRoot, root)),
0,