Files
openclaw/scripts/ci-run-node-test-shard.d.mts
Peter Steinberger 6252f9b1f7 improve(ci): speed warm Node shards with sticky bind mount (#108386)
* perf(ci): bind sticky dependency disk into test shards

* chore(ci): restore workflow guard coverage

* perf(ci): skip pnpm install on exact sticky hits

* fix(ci): require stock layout for sticky dependencies

* perf(ci): bypass pnpm for test shard launches

* fix(ci): declare direct shard runner command

* fix(ci): bypass pnpm in warm shard builds

* fix(ci): invalidate sticky deps on pnpm config

* ci: document sticky failure guard
2026-07-15 15:41:24 -07:00

47 lines
1.1 KiB
TypeScript

export type ShardTargetPlan = {
kind: "target";
name: string;
target: string;
};
export type ShardGroupPlan = {
kind: "group";
name: string;
plan: {
configs: string[];
env?: Record<string, unknown> | null;
includePatterns?: string[] | null;
shard_name?: string;
};
};
export type ShardPlan = ShardTargetPlan | ShardGroupPlan;
export function resolveShardPlans(env?: Record<string, string | undefined>): ShardPlan[];
export function buildChildEnv(
entry: ShardPlan,
baseEnv: Record<string, string | undefined>,
scratchDir: string,
index: number,
): Record<string, string | undefined>;
export function resolveShardChildCommand(
args: string[],
nodeExecPath?: string,
): { command: string; args: string[] };
export function runShardPlans(
plans: ShardPlan[],
options?: {
concurrency?: number;
env?: Record<string, string | undefined>;
runChild?: (
args: string[],
childEnv: Record<string, string | undefined>,
label: string,
) => Promise<number>;
scratchDir?: string;
},
): Promise<number>;