Files
openclaw/scripts/ci-run-timings.d.mts
Peter Steinberger 6a6d3465d8 improve: shorten release candidate validation (#110316)
* ci(release): shorten candidate validation critical path

* ci(test): parallelize memory extension lane

* ci(release): preserve read-only candidate validation
2026-07-18 03:39:03 +01:00

56 lines
1.6 KiB
TypeScript

#!/usr/bin/env node
export function isRetryableGhJsonErrorMessage(message: unknown): boolean;
/**
* Flattens paginated GitHub run job responses.
*/
export function collectRunJobsFromPages(
pages: Array<{ jobs?: Array<Record<string, unknown>> }>,
): Array<Record<string, unknown>>;
/**
* Summarizes longest jobs and total timing for a workflow run.
*/
export function summarizeRunTimings(
run: unknown,
limit?: number,
): {
byDuration: Array<{ name: string; durationSeconds: number }>;
byStartDelay: Array<{ name: string; startDelaySeconds: number }>;
conclusion: unknown;
status: unknown;
wallSeconds: number | null;
badJobs: unknown;
};
/**
* Summarizes pnpm store warmup overlap near run start.
*/
export function summarizePnpmStoreWarmupBarrier(
run: unknown,
windowSeconds?: number,
): {
activePostWarmupJobCount: unknown;
firstPostWarmupStartDelaySeconds: number | null;
postWarmupP95StartDelaySeconds: unknown;
postWarmupStartedWithinWindow: unknown;
preflightToWarmupCompleteSeconds: number | null;
preflightToWarmupStartSeconds: number | null;
warmupDurationSeconds: number | null;
warmupResult: string;
windowSeconds: number;
} | null;
/**
* Selects the latest main push CI run, optionally matching a head SHA.
*/
export function selectLatestMainPushCiRun(
runs: Array<Record<string, unknown>>,
headSha?: string | null,
): Record<string, unknown> | null;
/**
* Parses CI run timing CLI arguments.
*/
export function parseRunTimingArgs(args: unknown): {
explicitRunId: unknown;
limit: number;
recentLimit: number | null;
useLatestMain: boolean;
};