mirror of
https://github.com/openclaw/openclaw.git
synced 2026-09-29 17:19:00 +08:00
* fix(release): restore PR checks after large validation pauses Co-authored-by: steipete <58493+steipete@users.noreply.github.com> * fix(release): preserve independent PR checks during restore Co-authored-by: steipete <58493+steipete@users.noreply.github.com> * fix(release): leave intentionally skipped CI runs alone Co-authored-by: steipete <58493+steipete@users.noreply.github.com> * fix(release): revalidate deferred attempts before dispatch Co-authored-by: steipete <58493+steipete@users.noreply.github.com> * test(release): reuse qualified manifest sealing fixtures Reuse the fixture-only repair from openclaw/openclaw#157268 (f0cb7b379d), byte-identical to the two files ata34af46d10. Keep the actual writer and validation policy, with controlled external transport. Co-authored-by: steipete <58493+steipete@users.noreply.github.com> * test(tooling): capture nested cleanup failure state Record bounded failure-only process facts without changing the liveness predicate, assertion, deadlines or cleanup. This improves evidence for the unexplained CI failure; it does not claim a lifecycle fix. Co-authored-by: steipete <58493+steipete@users.noreply.github.com> * fix(release): report skipped restore candidates in CLI output Show run IDs and recovery guidance when dispatch revalidation declines a rerun. Keep cancellation labeling distinct and preserve JSON, selection, mutation counts and retry behavior. Cover the actual CLI with portable secretless transport fixtures. Co-authored-by: steipete <58493+steipete@users.noreply.github.com> --------- Co-authored-by: steipete <58493+steipete@users.noreply.github.com>
51 lines
2.0 KiB
TypeScript
51 lines
2.0 KiB
TypeScript
export const RELEASE_PRIORITY_VARIABLE: "OPENCLAW_RELEASE_PRIORITY_RUN";
|
|
export const RELEASE_PRIORITY_RECORD_KIND: string;
|
|
export interface ReleasePriorityRun {
|
|
event: string;
|
|
headBranch: string;
|
|
id: string;
|
|
lane: string;
|
|
name: string;
|
|
url: string;
|
|
}
|
|
export interface ReleasePriorityRecord {
|
|
cancelled: Array<Omit<ReleasePriorityRun, "lane"> & Partial<Pick<ReleasePriorityRun, "lane">>>;
|
|
kind: string;
|
|
parentRunId: string;
|
|
recordedAt: string;
|
|
repository?: string;
|
|
}
|
|
export function isReleaseBranch(name: unknown): boolean;
|
|
export function isDeferrableRun(
|
|
run: Record<string, unknown> | undefined,
|
|
parentRunId: string | number,
|
|
): boolean;
|
|
export function listReleasePriorityRuns(
|
|
query: string,
|
|
apiJson: (resource: string) => Promise<unknown>,
|
|
apiText: (resource: string, jq: string) => Promise<string>,
|
|
): Promise<Record<string, unknown>[]>;
|
|
export function describeRun(run: Record<string, unknown>): ReleasePriorityRun;
|
|
export function selectQueuedRunsToCancel(
|
|
runs: Record<string, unknown>[],
|
|
parentRunId: string | number,
|
|
): ReleasePriorityRun[];
|
|
export function selectDeferredRunCandidates(
|
|
runs: Record<string, unknown>[],
|
|
record: Pick<ReleasePriorityRecord, "parentRunId" | "recordedAt">,
|
|
): Record<string, unknown>[];
|
|
export function isDeferredCiJobSet(jobs: Record<string, unknown>[]): boolean;
|
|
export function defaultReleasePriorityRecordPath(parentRunId: string | number): string;
|
|
export function writeReleasePriorityRecord(path: string, record: ReleasePriorityRecord): void;
|
|
export function readReleasePriorityRecord(path: string): ReleasePriorityRecord;
|
|
export function readReleasePriorityRecord(
|
|
path: string,
|
|
options: { optional: true },
|
|
): ReleasePriorityRecord | null;
|
|
export function selectLatestRunsPerLane(runs: ReleasePriorityRun[]): ReleasePriorityRun[];
|
|
export function mergeReleasePriorityRecord(
|
|
previous: ReleasePriorityRecord | null,
|
|
next: ReleasePriorityRecord,
|
|
): ReleasePriorityRecord;
|
|
export function isQueuedRun(run: Record<string, unknown> | undefined): boolean;
|