mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-06 10:20:42 +00:00
ci: rebalance agentic node tests
This commit is contained in:
@@ -51,7 +51,7 @@ Local changed-lane logic lives in `scripts/changed-lanes.mjs` and is executed by
|
||||
|
||||
On pushes, the `checks` matrix adds the push-only `compat-node22` lane. On pull requests, that lane is skipped and the matrix stays focused on the normal test/channel lanes.
|
||||
|
||||
The slowest Node test families are split into include-file shards so each job stays small: channel contracts split registry and core coverage into eight weighted shards each, auto-reply reply command tests split into four include-pattern shards, and the other large auto-reply reply prefix groups split into two shards each. `check-additional` also separates package-boundary compile/canary work from runtime topology gateway/architecture work.
|
||||
The slowest Node test families are split or balanced so each job stays small: channel contracts split registry and core coverage into eight weighted shards each, auto-reply reply command tests split into four include-pattern shards, the other large auto-reply reply prefix groups split into two shards each, and agentic gateway configs are spread across the existing agentic Node jobs instead of running as one serial tail. `check-additional` also separates package-boundary compile/canary work from runtime topology gateway/architecture work.
|
||||
|
||||
GitHub may mark superseded jobs as `cancelled` when a newer push lands on the same PR or `main` ref. Treat that as CI noise unless the newest run for the same ref is also failing. Aggregate shard checks use `!cancelled() && always()` so they still report normal shard failures but do not queue after the whole workflow has already been superseded.
|
||||
The CI concurrency key is versioned (`CI-v2-*`) so a GitHub-side zombie in an old queue group cannot indefinitely block newer main runs.
|
||||
|
||||
@@ -144,13 +144,7 @@ const SPLIT_NODE_SHARDS = new Map([
|
||||
[
|
||||
{
|
||||
shardName: "agentic-control-plane",
|
||||
configs: [
|
||||
"test/vitest/vitest.gateway-core.config.ts",
|
||||
"test/vitest/vitest.gateway-client.config.ts",
|
||||
"test/vitest/vitest.gateway-methods.config.ts",
|
||||
"test/vitest/vitest.gateway-server.config.ts",
|
||||
"test/vitest/vitest.daemon.config.ts",
|
||||
],
|
||||
configs: ["test/vitest/vitest.gateway-server.config.ts"],
|
||||
requiresDist: false,
|
||||
},
|
||||
{
|
||||
@@ -159,17 +153,23 @@ const SPLIT_NODE_SHARDS = new Map([
|
||||
"test/vitest/vitest.cli.config.ts",
|
||||
"test/vitest/vitest.commands-light.config.ts",
|
||||
"test/vitest/vitest.commands.config.ts",
|
||||
"test/vitest/vitest.daemon.config.ts",
|
||||
],
|
||||
requiresDist: false,
|
||||
},
|
||||
{
|
||||
shardName: "agentic-agents",
|
||||
configs: ["test/vitest/vitest.agents.config.ts"],
|
||||
configs: [
|
||||
"test/vitest/vitest.agents.config.ts",
|
||||
"test/vitest/vitest.gateway-client.config.ts",
|
||||
],
|
||||
requiresDist: false,
|
||||
},
|
||||
{
|
||||
shardName: "agentic-plugin-sdk",
|
||||
configs: [
|
||||
"test/vitest/vitest.gateway-core.config.ts",
|
||||
"test/vitest/vitest.gateway-methods.config.ts",
|
||||
"test/vitest/vitest.plugin-sdk-light.config.ts",
|
||||
"test/vitest/vitest.plugin-sdk.config.ts",
|
||||
],
|
||||
|
||||
@@ -114,13 +114,7 @@ describe("scripts/lib/ci-node-test-plan.mjs", () => {
|
||||
expect(controlPlaneShard).toEqual({
|
||||
checkName: "checks-node-agentic-control-plane",
|
||||
shardName: "agentic-control-plane",
|
||||
configs: [
|
||||
"test/vitest/vitest.gateway-core.config.ts",
|
||||
"test/vitest/vitest.gateway-client.config.ts",
|
||||
"test/vitest/vitest.gateway-methods.config.ts",
|
||||
"test/vitest/vitest.gateway-server.config.ts",
|
||||
"test/vitest/vitest.daemon.config.ts",
|
||||
],
|
||||
configs: ["test/vitest/vitest.gateway-server.config.ts"],
|
||||
requiresDist: false,
|
||||
});
|
||||
expect(commandsShard).toEqual({
|
||||
@@ -130,19 +124,25 @@ describe("scripts/lib/ci-node-test-plan.mjs", () => {
|
||||
"test/vitest/vitest.cli.config.ts",
|
||||
"test/vitest/vitest.commands-light.config.ts",
|
||||
"test/vitest/vitest.commands.config.ts",
|
||||
"test/vitest/vitest.daemon.config.ts",
|
||||
],
|
||||
requiresDist: false,
|
||||
});
|
||||
expect(agentShard).toEqual({
|
||||
checkName: "checks-node-agentic-agents",
|
||||
shardName: "agentic-agents",
|
||||
configs: ["test/vitest/vitest.agents.config.ts"],
|
||||
configs: [
|
||||
"test/vitest/vitest.agents.config.ts",
|
||||
"test/vitest/vitest.gateway-client.config.ts",
|
||||
],
|
||||
requiresDist: false,
|
||||
});
|
||||
expect(pluginSdkShard).toEqual({
|
||||
checkName: "checks-node-agentic-plugin-sdk",
|
||||
shardName: "agentic-plugin-sdk",
|
||||
configs: [
|
||||
"test/vitest/vitest.gateway-core.config.ts",
|
||||
"test/vitest/vitest.gateway-methods.config.ts",
|
||||
"test/vitest/vitest.plugin-sdk-light.config.ts",
|
||||
"test/vitest/vitest.plugin-sdk.config.ts",
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user