mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-02 07:41:33 +00:00
perf(ci): correct pack hints from measured stripe walls (#109899)
Group walls measured from compact run 29564411446 (post-#109769): core-unit-fast-isolated runs 78.6s on 4 vCPU because fork-per-file isolation parallelizes poorly there; pin it to the 8 vCPU class where the same segment runs ~50s. Unit-fast stripes measure ~25-37s (hinted 100/60) and tooling stripes 71-87s; refresh both so the packer stops overfilling small bins (the 299s compact tail this run produced). Cheap stripes may now co-locate in one bin, so the compact test only requires their presence.
This commit is contained in:
committed by
GitHub
parent
f82511762f
commit
4880231ff7
@@ -125,14 +125,18 @@ const COMPACT_GROUP_SECONDS_HINTS = new Map([
|
||||
// PTY timing suites still need a lightly packed lane; the exclusive-bin cap
|
||||
// leaves only trivial co-groups next to this measured runtime.
|
||||
["core-runtime-tui-pty", 103],
|
||||
["core-tooling-1", 85],
|
||||
["core-tooling-2", 112],
|
||||
["core-tooling-3", 106],
|
||||
["core-tooling-4", 105],
|
||||
["core-tooling-isolated", 58],
|
||||
["core-unit-fast-1", 60],
|
||||
["core-unit-fast-2", 60],
|
||||
["core-unit-fast-isolated", 25],
|
||||
// Stripe walls measured from compact run 29564411446 group timestamps.
|
||||
["core-tooling-1", 87],
|
||||
["core-tooling-2", 80],
|
||||
["core-tooling-3", 82],
|
||||
["core-tooling-4", 71],
|
||||
["core-tooling-isolated", 45],
|
||||
["core-unit-fast-1", 40],
|
||||
["core-unit-fast-2", 40],
|
||||
// Fork-per-file isolation parallelizes poorly on 4 vCPU (78.6s measured in
|
||||
// compact run 29564411446); keep it on the 8 vCPU class where the same
|
||||
// segment runs ~50s.
|
||||
["core-unit-fast-isolated", 50],
|
||||
["core-unit-src-security", 108],
|
||||
["core-unit-support", 15],
|
||||
]);
|
||||
@@ -256,6 +260,7 @@ const KEEP_LARGE_NODE_TEST_RUNNER = new Set([
|
||||
"core-runtime-media-ui",
|
||||
"core-unit-fast-1",
|
||||
"core-unit-fast-2",
|
||||
"core-unit-fast-isolated",
|
||||
"core-unit-src-security",
|
||||
]);
|
||||
const RELEASE_ONLY_PLUGIN_SHARDS = new Set(["agentic-plugins"]);
|
||||
|
||||
@@ -242,10 +242,9 @@ describe("scripts/lib/ci-node-test-plan.mjs", () => {
|
||||
const jobOf = (name: string) =>
|
||||
compact.findIndex((shard) => shard.groups.some((group) => group.shard_name === name));
|
||||
expect(jobOf("agentic-agents-core-runner-embedded")).toBeGreaterThanOrEqual(0);
|
||||
// Cheap stripes may legally co-locate in one bin; only existence matters.
|
||||
expect(jobOf("core-unit-fast-1")).toBeGreaterThanOrEqual(0);
|
||||
expect(jobOf("core-unit-fast-2")).toBeGreaterThanOrEqual(0);
|
||||
expect(jobOf("core-unit-fast-1")).not.toBe(jobOf("core-unit-fast-2"));
|
||||
expect(jobOf("agentic-agents-core-runner-embedded")).not.toBe(jobOf("core-unit-fast-1"));
|
||||
// Spawn/signal-timing suites never mix with regular groups, and every
|
||||
// compact bin runs serially: overlapping Vitest runs flake timing-
|
||||
// sensitive tests on both runner classes.
|
||||
|
||||
Reference in New Issue
Block a user