ci: optimize windows test shard fanout (#55261)

* ci: reduce windows test shard fanout

* ci: tighten windows shard target

* ci: back off windows shard target

* ci: restore windows shard cap
This commit is contained in:
Tak Hoffman
2026-03-26 13:40:28 -05:00
committed by GitHub
parent cca577a0cc
commit c48a3e4fc9
2 changed files with 10 additions and 3 deletions

View File

@@ -1010,6 +1010,14 @@ export function buildCIExecutionManifest(scopeInput = {}, options = {}) {
maxShards: 4,
});
const windowsShardCount = resolveDynamicShardCount({
estimatedDurationMs: sumKnownManifestDurationsMs(context.unitTimingManifest),
fileCount: context.catalog.allKnownUnitFiles.length,
targetDurationMs: 12_000,
targetFilesPerShard: 30,
minShards: 1,
maxShards: 6,
});
const macosNodeShardCount = resolveDynamicShardCount({
estimatedDurationMs: sumKnownManifestDurationsMs(context.unitTimingManifest),
fileCount: context.catalog.allKnownUnitFiles.length,
targetDurationMs: 12_000,
@@ -1017,7 +1025,6 @@ export function buildCIExecutionManifest(scopeInput = {}, options = {}) {
minShards: 1,
maxShards: 9,
});
const macosNodeShardCount = windowsShardCount;
const bunShardCount = resolveDynamicShardCount({
estimatedDurationMs: sumKnownManifestDurationsMs(context.unitTimingManifest),
fileCount: context.catalog.allKnownUnitFiles.length,

View File

@@ -283,10 +283,10 @@ describe("test planner", () => {
expect(manifest.jobs.buildArtifacts.enabled).toBe(true);
expect(manifest.shardCounts.unit).toBe(4);
expect(manifest.shardCounts.channels).toBe(3);
expect(manifest.shardCounts.windows).toBe(9);
expect(manifest.shardCounts.windows).toBe(6);
expect(manifest.shardCounts.macosNode).toBe(9);
expect(manifest.jobs.checks.matrix.include).toHaveLength(7);
expect(manifest.jobs.checksWindows.matrix.include).toHaveLength(9);
expect(manifest.jobs.checksWindows.matrix.include).toHaveLength(6);
expect(manifest.jobs.macosNode.matrix.include).toHaveLength(9);
expect(manifest.jobs.macosSwift.enabled).toBe(true);
expect(manifest.requiredCheckNames).toContain("macos-swift");