Files
openclaw/scripts/verify-pr-hosted-gates.d.mts
Peter Steinberger ad3142ae85 fix(maint): enforce 24-hour hosted gate freshness (#104651)
* fix(maint): enforce 24-hour hosted gate freshness

* style(maint): avoid hosted gate run shadowing
2026-07-11 12:33:46 -07:00

66 lines
1.3 KiB
TypeScript

#!/usr/bin/env node
export function parseArgs(argv: unknown): {
repo: string;
sha: string;
pr: number;
recentSha: string;
output: string;
changelogOnly: boolean;
};
export function parseWorkflowRunPage(raw: unknown): {
totalCount: unknown;
workflowRuns: unknown;
};
export function workflowRunPageCount(totalCount: unknown): number;
export function collectHostedGateEvidence({
sha,
pr,
recentSha,
workflowRuns,
changelogOnly,
nowMs,
}: {
sha: string;
pr?: number;
recentSha?: string;
workflowRuns: Array<Record<string, unknown>>;
changelogOnly?: boolean | undefined;
nowMs?: number | undefined;
}): {
headSha: string;
evidenceHeadSha?: string;
workflows: {
id: unknown;
name: unknown;
event: unknown;
headSha: unknown;
headBranch: unknown;
status: unknown;
conclusion: unknown;
createdAt: unknown;
updatedAt: unknown;
url: unknown;
}[];
fallbackCoveredWorkflows?: {
name: string;
coveredBy: string;
reason: string;
}[];
};
export function workflowRunQueryPaths(
repo: string,
{
sha,
recentSha,
headBranch,
}: {
sha: string;
recentSha: string;
headBranch?: string;
},
page?: number,
): string[];
export function main(argv?: string[]): void;
export const SCHEDULED_HOSTED_WORKFLOWS: string[];
export const HOSTED_GATE_MAX_AGE_HOURS: 24;