mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-26 12:26:38 -06:00
fix(ci): run all compact test bins serially (#108266)
This commit is contained in:
committed by
GitHub
parent
0393189243
commit
d223409c88
@@ -1381,12 +1381,12 @@ function createCompactNodeTestShardBundles(options = {}) {
|
||||
...(bin.hasWholeConfigGroup
|
||||
? { timeoutMinutes: COMPACT_WHOLE_NODE_TEST_TIMEOUT_MINUTES }
|
||||
: {}),
|
||||
// 4 vCPU bins run their plans serially: overlapping two Vitest runs
|
||||
// there starves process-spawning tests (worker-startup timeouts in
|
||||
// core-runtime-infra-process, tooling process-group waits), and the
|
||||
// packed weights are contention-inflated so serializing is roughly
|
||||
// wall-neutral. Exclusive spawn/signal bins stay serial everywhere.
|
||||
...(bin.exclusive || runnerClass === "small" ? { planConcurrency: 1 } : {}),
|
||||
// Every compact bin runs its plans serially. Overlapping two Vitest
|
||||
// runs on one runner starves timing-sensitive tests on both runner
|
||||
// classes (worker-startup timeouts on 4 vCPU, UI-animation and
|
||||
// lock-timing flakes on 8 vCPU), and the packed weights are
|
||||
// contention-inflated so serializing is roughly wall-neutral.
|
||||
planConcurrency: 1,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -203,10 +203,9 @@ describe("scripts/lib/ci-node-test-plan.mjs", () => {
|
||||
expect(jobOf("agentic-agents-core-runner-embedded")).toBeGreaterThanOrEqual(0);
|
||||
expect(jobOf("core-unit-fast")).toBeGreaterThanOrEqual(0);
|
||||
expect(jobOf("agentic-agents-core-runner-embedded")).not.toBe(jobOf("core-unit-fast"));
|
||||
// Spawn/signal-timing suites flake next to a concurrent sibling Vitest
|
||||
// run; their bins never mix with regular groups, and every 4 vCPU bin
|
||||
// runs serially because overlapping Vitest runs starve process-spawning
|
||||
// tests on that runner class.
|
||||
// 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.
|
||||
const exclusiveGroupRe = /^core-tooling(?:-\d+|-isolated|-docker)?$|^core-runtime-tui-pty$/u;
|
||||
for (const shard of compact) {
|
||||
const exclusiveCount = shard.groups.filter((group) =>
|
||||
@@ -215,11 +214,7 @@ describe("scripts/lib/ci-node-test-plan.mjs", () => {
|
||||
if (exclusiveCount > 0) {
|
||||
expect(exclusiveCount).toBe(shard.groups.length);
|
||||
}
|
||||
if (exclusiveCount > 0 || !shard.runner.includes("-8vcpu-")) {
|
||||
expect(shard.planConcurrency).toBe(1);
|
||||
} else {
|
||||
expect(shard.planConcurrency).toBeUndefined();
|
||||
}
|
||||
expect(shard.planConcurrency).toBe(1);
|
||||
}
|
||||
expect(
|
||||
compact.filter((shard) =>
|
||||
|
||||
Reference in New Issue
Block a user