perf(ci): trim compact packing cap to 220s for loaded-fleet headroom

Fleet-contended runners inflate measured group runtimes ~20-25% over
the serial-run hints (bins hit 300-358s on a loaded 12:1xZ run against
a 260s packed estimate). A 220s cap keeps the slowest bin near the
5-minute PR wall-clock budget under load at the cost of two extra
jobs (24 -> 26).
This commit is contained in:
Peter Steinberger
2026-07-16 05:29:45 -07:00
parent 2258d1156b
commit 771233cf94
2 changed files with 4 additions and 2 deletions
+3 -1
View File
@@ -28,7 +28,9 @@ const GATEWAY_STARTUP_HEALTH_RUNTIME_ENV = {
const MAX_BUNDLED_NODE_TEST_PATTERNS = 64;
// PR-only bundles trade a little serial work for fewer ephemeral runner registrations.
// Keep runner classes and subprocess isolation intact while bounding each combined job.
const COMPACT_NODE_TEST_JOB_SECONDS = 260;
// Fleet-loaded runners inflate measured hints by ~20-25%; a 220s packing cap
// keeps the slowest bin near the 5-minute PR wall-clock budget under load.
const COMPACT_NODE_TEST_JOB_SECONDS = 220;
const COMPACT_NODE_TEST_JOB_GROUPS = 10;
const COMPACT_TOOLING_NODE_TEST_GROUPS = 4;
const COMPACT_WHOLE_NODE_TEST_TIMEOUT_MINUTES = 120;
+1 -1
View File
@@ -187,7 +187,7 @@ describe("scripts/lib/ci-node-test-plan.mjs", () => {
});
expect(compact.length).toBeGreaterThanOrEqual(12);
expect(compact.length).toBeLessThanOrEqual(24);
expect(compact.length).toBeLessThanOrEqual(28);
expect(compact.every((shard) => Array.isArray(shard.groups))).toBe(true);
expect(compact.every((shard) => shard.groups.length <= 10)).toBe(true);
expect(compact.some((shard) => shard.requiresDist)).toBe(true);