ci: rebalance extension test shards

This commit is contained in:
Peter Steinberger
2026-04-22 23:29:34 +01:00
parent 22814c1add
commit 1d7be63228
2 changed files with 34 additions and 2 deletions

View File

@@ -30,8 +30,28 @@ import { listAvailableExtensionIds } from "./changed-extensions.mjs";
const repoRoot = path.resolve(import.meta.dirname, "..", "..");
export const DEFAULT_EXTENSION_TEST_SHARD_COUNT = 6;
const EXTENSION_TEST_COST_MULTIPLIERS = {
"test/vitest/vitest.extension-feishu.config.ts": 1.6,
"test/vitest/vitest.extension-msteams.config.ts": 1.6,
// CI shard planning uses measured wall time rather than raw file count.
// Import-heavy channel suites vary widely: Slack/Mattermost are much more
// expensive per file than Matrix/Discord/MSTeams.
"test/vitest/vitest.extension-bluebubbles.config.ts": 0.8,
"test/vitest/vitest.extension-browser.config.ts": 0.55,
"test/vitest/vitest.extension-discord.config.ts": 0.3,
"test/vitest/vitest.extension-feishu.config.ts": 0.6,
"test/vitest/vitest.extension-imessage.config.ts": 0.9,
"test/vitest/vitest.extension-matrix.config.ts": 0.25,
"test/vitest/vitest.extension-mattermost.config.ts": 1.05,
"test/vitest/vitest.extension-media.config.ts": 0.7,
"test/vitest/vitest.extension-memory.config.ts": 0.3,
"test/vitest/vitest.extension-messaging.config.ts": 0.4,
"test/vitest/vitest.extension-misc.config.ts": 0.7,
"test/vitest/vitest.extension-msteams.config.ts": 0.3,
"test/vitest/vitest.extension-providers.config.ts": 0.5,
"test/vitest/vitest.extension-qa.config.ts": 0.4,
"test/vitest/vitest.extension-slack.config.ts": 0.7,
"test/vitest/vitest.extension-telegram.config.ts": 0.4,
"test/vitest/vitest.extension-voice-call.config.ts": 0.25,
"test/vitest/vitest.extension-whatsapp.config.ts": 0.6,
"test/vitest/vitest.extension-zalo.config.ts": 0.7,
// This shared config is comparatively cheap per file, so raw file count
// overstates its real wall-clock cost during CI shard planning.
"test/vitest/vitest.extensions.config.ts": 0.45,