@blogic-cz/agent-tools 1.13.0 → 1.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -0
- package/dist/gh-tool/pr/commands.d.ts +11 -4
- package/dist/gh-tool/pr/commands.d.ts.map +1 -1
- package/dist/gh-tool/pr/core.d.ts +5 -0
- package/dist/gh-tool/pr/core.d.ts.map +1 -1
- package/dist/gh-tool/pr/index.d.ts +1 -1
- package/dist/gh-tool/pr/index.d.ts.map +1 -1
- package/dist/gh-tool/read/porcelain.d.ts +4 -2
- package/dist/gh-tool/read/porcelain.d.ts.map +1 -1
- package/dist/gh-tool/read/reads.d.ts +2 -0
- package/dist/gh-tool/read/reads.d.ts.map +1 -1
- package/dist/gh-tool/types.d.ts +2 -1
- package/dist/gh-tool/types.d.ts.map +1 -1
- package/dist/gh-tool/workflow.d.ts +3 -1
- package/dist/gh-tool/workflow.d.ts.map +1 -1
- package/dist/shared/content-security.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/gh-tool/main.ts +2 -0
- package/src/gh-tool/pr/commands.ts +56 -1
- package/src/gh-tool/pr/core.ts +90 -32
- package/src/gh-tool/pr/index.ts +1 -0
- package/src/gh-tool/read/porcelain.ts +2 -1
- package/src/gh-tool/types.ts +9 -1
- package/src/gh-tool/workflow.ts +82 -12
- package/src/shared/content-security.ts +1 -0
package/README.md
CHANGED
|
@@ -407,6 +407,19 @@ Reruns preflight every target before mutation and fail closed with `evidence_una
|
|
|
407
407
|
|
|
408
408
|
Zero reported checks is a state, not an error. `gh pr checks` exits nonzero on an empty result. `stack merge`, `review-triage`, and `checks-failed` preserve `none_reported` so they do not report a green or ready PR. `pr checks` batch output includes `checksStatus: "none_reported"` and a reason. `fetchCheckResults` still maps this state to `[]` for rerun, trigger, and watch flows that handle empty results. `pr trigger-checks` covers the case where GitHub dropped the `pull_request` event and no run exists at all. It dispatches the named `workflow_dispatch` workflow **on the PR head branch**, then compares the created run's `headSha` back to the PR head and reports `matchesPrHead`. A run dispatched on the wrong ref goes green for another branch and must never be read as PR evidence, so `workflow run` also returns the discovered `runId`/`headSha` instead of a bare `dispatched: true`.
|
|
409
409
|
|
|
410
|
+
`pr checks --watch` waits up to 600 seconds by default. On timeout, the error names the pending checks and the `--timeout <seconds>` option.
|
|
411
|
+
|
|
412
|
+
Use `pr wait` when a PR must reach a specific state before the next action:
|
|
413
|
+
|
|
414
|
+
```bash
|
|
415
|
+
bun gh-tool pr wait --pr 123 --state merged --timeout 600000
|
|
416
|
+
bun gh-tool pr wait --pr 123 --state closed --timeout 600000
|
|
417
|
+
```
|
|
418
|
+
|
|
419
|
+
The timeout is in milliseconds and includes API reads. The command reads fresh state every five seconds and returns one result. A timeout exits with code 124. `closed` means closed without a merge. `merged` requires a merge.
|
|
420
|
+
|
|
421
|
+
`workflow job-logs --failed-steps-only` puts the last `CHECK FAIL` line first. If there is no such line, it puts the first error or failure line first. Other lines follow. `pr checks-failed --with-logs` keeps that line first in its bounded summary. Job logs come from the job endpoint. The tool reuses the metadata read that resolved the job name.
|
|
422
|
+
|
|
410
423
|
`pr checks-failed` returns `status: "none_reported"`, the reason, and a hint when GitHub reports no checks for the stable PR head. It does not return `no_failures` for that state.
|
|
411
424
|
|
|
412
425
|
`pr feedback` returns the whole inventory by default. Narrow it with `--only visible-open|needs-human-reply|current-head` (narrowed filters drop issue comments), drop bots with `--exclude-authors github-actions,dependabot`, and read `omitted` for what each filter removed. Base64 report payloads in bodies are replaced with `[base64 payload omitted]`; pass `--raw-bodies` to keep them. `review-triage --omit reviews,inlineComments` trims a repeated snapshot to the verdict and check state, and lists what it left out in `omittedSections`.
|
|
@@ -2,7 +2,7 @@ import { Command } from "effect/cli";
|
|
|
2
2
|
import { Effect, Option } from "effect";
|
|
3
3
|
import type { CheckResult } from "#gh/types";
|
|
4
4
|
import { GitHubService } from "#gh/read/transport";
|
|
5
|
-
import { GitHubCommandError } from "#gh/errors";
|
|
5
|
+
import { GitHubCommandError, GitHubTimeoutError } from "#gh/errors";
|
|
6
6
|
export declare const parseReviewers: (reviewers: string) => Effect.Effect<never, GitHubCommandError, never> | Effect.Effect<string[], never, never>;
|
|
7
7
|
export declare const requestReview: (pr: number, reviewers: string) => Effect.Effect<{
|
|
8
8
|
pr: number;
|
|
@@ -189,6 +189,13 @@ export declare const prListCommand: Command.Command<"list", {
|
|
|
189
189
|
readonly limit: number;
|
|
190
190
|
readonly repo: Option.Option<string>;
|
|
191
191
|
}, {}, import("#gh/read/transport").GhError, GitHubService>;
|
|
192
|
+
export declare const prWaitCommand: Command.Command<"wait", {
|
|
193
|
+
readonly pr: number;
|
|
194
|
+
readonly state: "closed" | "merged";
|
|
195
|
+
readonly timeout: number;
|
|
196
|
+
readonly format: "json" | "toon";
|
|
197
|
+
readonly repo: Option.Option<string>;
|
|
198
|
+
}, {}, GitHubTimeoutError | import("#gh/read/transport").GhError, GitHubService>;
|
|
192
199
|
export declare const prWaitMergeableCommand: Command.Command<"wait-mergeable", {
|
|
193
200
|
readonly format: "json" | "toon";
|
|
194
201
|
readonly pr: Option.Option<number>;
|
|
@@ -261,7 +268,7 @@ export declare const prChecksCommand: Command.Command<"checks", {
|
|
|
261
268
|
readonly repo: Option.Option<string>;
|
|
262
269
|
readonly timeout: number;
|
|
263
270
|
readonly watch: boolean;
|
|
264
|
-
}, {},
|
|
271
|
+
}, {}, GitHubTimeoutError | import("#gh/read/transport").GhError, GitHubService>;
|
|
265
272
|
export declare const prChecksFailedCommand: Command.Command<"checks-failed", {
|
|
266
273
|
readonly format: "json" | "toon";
|
|
267
274
|
readonly pr: Option.Option<number>;
|
|
@@ -276,7 +283,7 @@ export declare const prWatchCommand: Command.Command<"watch", {
|
|
|
276
283
|
readonly interval: number;
|
|
277
284
|
readonly timeout: number;
|
|
278
285
|
readonly repo: Option.Option<string>;
|
|
279
|
-
}, {}, "timeout" |
|
|
286
|
+
}, {}, "timeout" | GitHubTimeoutError | import("#gh/read/transport").GhError, GitHubService>;
|
|
280
287
|
export declare const prRerunChecksCommand: Command.Command<"rerun-checks", {
|
|
281
288
|
readonly format: "json" | "toon";
|
|
282
289
|
readonly pr: Option.Option<number>;
|
|
@@ -284,7 +291,7 @@ export declare const prRerunChecksCommand: Command.Command<"rerun-checks", {
|
|
|
284
291
|
readonly failedOnly: boolean;
|
|
285
292
|
readonly watch: boolean;
|
|
286
293
|
readonly timeout: number;
|
|
287
|
-
}, {}, import("#gh/read/transport").GhError, GitHubService>;
|
|
294
|
+
}, {}, GitHubTimeoutError | import("#gh/read/transport").GhError, GitHubService>;
|
|
288
295
|
export declare const prTriggerChecksCommand: Command.Command<"trigger-checks", {
|
|
289
296
|
readonly field: readonly string[];
|
|
290
297
|
readonly format: "json" | "toon";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../src/gh-tool/pr/commands.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAe,MAAM,YAAY,CAAC;AAClD,OAAO,EAAW,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEjD,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,WAAW,CAAC;AAG7D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../src/gh-tool/pr/commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -151,6 +151,11 @@ export declare const waitForMergeable: (pr: number | null, timeoutSeconds: numbe
|
|
|
151
151
|
headSha: string | null;
|
|
152
152
|
baseSha: string | null;
|
|
153
153
|
}, import("#gh/read/transport").GhError, GitHubService>;
|
|
154
|
+
export declare const waitForPRState: (pr: number, state: "closed" | "merged", timeoutMs: number) => Effect.Effect<{
|
|
155
|
+
number: number;
|
|
156
|
+
state: string;
|
|
157
|
+
url: string;
|
|
158
|
+
}, GitHubTimeoutError | import("#gh/read/transport").GhError, GitHubService>;
|
|
154
159
|
export declare const createPR: (opts: {
|
|
155
160
|
base: string | null;
|
|
156
161
|
title: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/gh-tool/pr/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,MAAM,
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/gh-tool/pr/core.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { prChecksCommand, prChecksFailedCommand, prCloseCommand, prCommentCommand, prEditCommentCommand, prCommentsCommand, prCreateCommand, prDiscussionSummaryCommand, prDraftCommand, prEditCommand, prCheckboxCommand, prFeedbackCommand, prIssueCommentsCommand, prIssueCommentsLatestCommand, prLastHumanReviewerCommand, prListCommand, prMergeCommand, prReadyCommand, prStackCommand, prRequestReviewCommand, prReplyCommand, prRerunChecksCommand, prReplyAndResolveCommand, prResolveCommand, prReviewCommand, prReviewsCommand, prStatusCommand, prSubmitReviewCommand, prThreadsCommand, prTriggerChecksCommand, prWaitMergeableCommand, prReviewTriageCommand, prReviewTriageBatchCommand, prViewCommand, prWatchCommand, } from "./commands";
|
|
1
|
+
export { prChecksCommand, prChecksFailedCommand, prCloseCommand, prCommentCommand, prEditCommentCommand, prCommentsCommand, prCreateCommand, prDiscussionSummaryCommand, prDraftCommand, prEditCommand, prCheckboxCommand, prFeedbackCommand, prIssueCommentsCommand, prIssueCommentsLatestCommand, prLastHumanReviewerCommand, prListCommand, prMergeCommand, prReadyCommand, prStackCommand, prRequestReviewCommand, prReplyCommand, prRerunChecksCommand, prReplyAndResolveCommand, prResolveCommand, prReviewCommand, prReviewsCommand, prStatusCommand, prSubmitReviewCommand, prThreadsCommand, prTriggerChecksCommand, prWaitMergeableCommand, prWaitCommand, prReviewTriageCommand, prReviewTriageBatchCommand, prViewCommand, prWatchCommand, } from "./commands";
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/gh-tool/pr/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EACf,0BAA0B,EAC1B,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,4BAA4B,EAC5B,0BAA0B,EAC1B,aAAa,EACb,cAAc,EACd,cAAc,EACd,cAAc,EACd,sBAAsB,EACtB,cAAc,EACd,oBAAoB,EACpB,wBAAwB,EACxB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,0BAA0B,EAC1B,aAAa,EACb,cAAc,GACf,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/gh-tool/pr/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EACf,0BAA0B,EAC1B,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,4BAA4B,EAC5B,0BAA0B,EAC1B,aAAa,EACb,cAAc,EACd,cAAc,EACd,cAAc,EACd,sBAAsB,EACtB,cAAc,EACd,oBAAoB,EACpB,wBAAwB,EACxB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,aAAa,EACb,qBAAqB,EACrB,0BAA0B,EAC1B,aAAa,EACb,cAAc,GACf,MAAM,YAAY,CAAC"}
|
|
@@ -27,6 +27,7 @@ export declare const WorkflowRun: Schema.Struct<{
|
|
|
27
27
|
readonly event: Schema.String;
|
|
28
28
|
readonly url: Schema.String;
|
|
29
29
|
readonly workflowName: Schema.String;
|
|
30
|
+
readonly workflowDatabaseId: Schema.optionalKey<Schema.NullOr<Schema.Number>>;
|
|
30
31
|
}>;
|
|
31
32
|
export declare const WorkflowRunDetail: Schema.Struct<{
|
|
32
33
|
readonly databaseId: Schema.Number;
|
|
@@ -39,6 +40,7 @@ export declare const WorkflowRunDetail: Schema.Struct<{
|
|
|
39
40
|
readonly event: Schema.String;
|
|
40
41
|
readonly url: Schema.String;
|
|
41
42
|
readonly workflowName: Schema.String;
|
|
43
|
+
readonly workflowDatabaseId: Schema.optionalKey<Schema.NullOr<Schema.Number>>;
|
|
42
44
|
readonly jobs: Schema.$Array<Schema.Struct<{
|
|
43
45
|
readonly databaseId: Schema.Number;
|
|
44
46
|
readonly name: Schema.String;
|
|
@@ -61,8 +63,8 @@ export declare const WorkflowRunDetail: Schema.Struct<{
|
|
|
61
63
|
export type WorkflowJob = typeof WorkflowJob.Type;
|
|
62
64
|
export type WorkflowRun = typeof WorkflowRun.Type;
|
|
63
65
|
export type WorkflowRunDetail = typeof WorkflowRunDetail.Type;
|
|
64
|
-
export declare const RUN_LIST_FIELDS = "databaseId,displayTitle,status,conclusion,headBranch,headSha,createdAt,event,url,workflowName";
|
|
65
|
-
export declare const RUN_VIEW_FIELDS = "databaseId,displayTitle,status,conclusion,headBranch,headSha,createdAt,event,url,workflowName,jobs,attempt";
|
|
66
|
+
export declare const RUN_LIST_FIELDS = "databaseId,displayTitle,status,conclusion,headBranch,headSha,createdAt,event,url,workflowName,workflowDatabaseId";
|
|
67
|
+
export declare const RUN_VIEW_FIELDS = "databaseId,displayTitle,status,conclusion,headBranch,headSha,createdAt,event,url,workflowName,workflowDatabaseId,jobs,attempt";
|
|
66
68
|
export declare const parsePreserving: <A>(schema: Schema.Codec<A>) => (value: unknown) => A;
|
|
67
69
|
export declare const project: <A extends object, K extends keyof A>(value: A, fields: readonly K[]) => Pick<A, K>;
|
|
68
70
|
//# sourceMappingURL=porcelain.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"porcelain.d.ts","sourceRoot":"","sources":["../../../src/gh-tool/read/porcelain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAUhC,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;EAStB,CAAC;AACH,eAAO,MAAM,WAAW
|
|
1
|
+
{"version":3,"file":"porcelain.d.ts","sourceRoot":"","sources":["../../../src/gh-tool/read/porcelain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAUhC,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;EAStB,CAAC;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;EAYtB,CAAC;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAI5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAC;AAClD,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAC;AAClD,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAC;AAC9D,eAAO,MAAM,eAAe,qHACwF,CAAC;AACrH,eAAO,MAAM,eAAe,kIAAoC,CAAC;AAEjE,eAAO,MAAM,eAAe,GACzB,CAAC,UAAU,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,aACnB,OAAO,KAAG,CAGjB,CAAC;AAEJ,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,SAClD,CAAC,UACA,SAAS,CAAC,EAAE,KACnB,IAAI,CAAC,CAAC,EAAE,CAAC,CAGK,CAAC"}
|
|
@@ -146,6 +146,7 @@ export declare const reads: {
|
|
|
146
146
|
readonly event: string;
|
|
147
147
|
readonly url: string;
|
|
148
148
|
readonly workflowName: string;
|
|
149
|
+
readonly workflowDatabaseId?: number | null | undefined;
|
|
149
150
|
}[], import("#gh/read/transport").GhError, GitHubService>;
|
|
150
151
|
runView: (repo: RepoRef, runId: number, consistency?: "cached" | "origin" | undefined) => Effect.Effect<{
|
|
151
152
|
readonly databaseId: number;
|
|
@@ -158,6 +159,7 @@ export declare const reads: {
|
|
|
158
159
|
readonly event: string;
|
|
159
160
|
readonly url: string;
|
|
160
161
|
readonly workflowName: string;
|
|
162
|
+
readonly workflowDatabaseId?: number | null | undefined;
|
|
161
163
|
readonly jobs: readonly {
|
|
162
164
|
readonly databaseId: number;
|
|
163
165
|
readonly name: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reads.d.ts","sourceRoot":"","sources":["../../../src/gh-tool/read/reads.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,EAAkB,MAAM,QAAQ,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAShD,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAUjD,MAAM,MAAM,MAAM,GAAG;IAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AActE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;AAC3E,MAAM,MAAM,iBAAiB,GACzB,QAAQ,CAAC;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,OAAO,EAAE,iBAAiB,CAAA;CAAE,CAAC,GACjE,QAAQ,CAAC;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEhC,eAAO,MAAM,YAAY;;uDAwCvB,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;wBAY/B,CAAC;AA+CH,eAAO,MAAM,WAAW,sGAatB,CAAC;AAgHH,eAAO,MAAM,SAAS,6HAWpB,CAAC;AA+EH,eAAO,MAAM,KAAK
|
|
1
|
+
{"version":3,"file":"reads.d.ts","sourceRoot":"","sources":["../../../src/gh-tool/read/reads.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,EAAkB,MAAM,QAAQ,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAShD,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAUjD,MAAM,MAAM,MAAM,GAAG;IAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AActE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;AAC3E,MAAM,MAAM,iBAAiB,GACzB,QAAQ,CAAC;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,OAAO,EAAE,iBAAiB,CAAA;CAAE,CAAC,GACjE,QAAQ,CAAC;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEhC,eAAO,MAAM,YAAY;;uDAwCvB,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;wBAY/B,CAAC;AA+CH,eAAO,MAAM,WAAW,sGAatB,CAAC;AAgHH,eAAO,MAAM,SAAS,6HAWpB,CAAC;AA+EH,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyBjB,CAAC"}
|
package/dist/gh-tool/types.d.ts
CHANGED
|
@@ -167,6 +167,7 @@ export type RerunCheckAttempt = {
|
|
|
167
167
|
attempt?: number | null;
|
|
168
168
|
jobs: readonly RerunCheckJob[];
|
|
169
169
|
status?: string;
|
|
170
|
+
conclusion?: string | null;
|
|
170
171
|
};
|
|
171
172
|
export type RerunChecksRun = {
|
|
172
173
|
runId: string;
|
|
@@ -183,7 +184,7 @@ export type RerunChecksReport = {
|
|
|
183
184
|
rerun: number;
|
|
184
185
|
failed?: number;
|
|
185
186
|
message: string;
|
|
186
|
-
status?: "evidence_unavailable" | "escalation_required" | "failed" | "rerun_started";
|
|
187
|
+
status?: "evidence_unavailable" | "escalation_required" | "failed" | "rerun_started" | "completed" | "watch_timeout" | "discovery_timeout";
|
|
187
188
|
runs?: RerunChecksRun[];
|
|
188
189
|
};
|
|
189
190
|
export type FailedChecksReport = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/gh-tool/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE1D,MAAM,MAAM,MAAM,GAAG;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,WAAW,GAAG,aAAa,GAAG,SAAS,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,aAAa,GACrB;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvD,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG;IAChC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;IAC3C,cAAc,EAAE,UAAU,GAAG,mBAAmB,GAAG,iBAAiB,GAAG,EAAE,CAAC;IAC1E,cAAc,EAAE,aAAa,EAAE,CAAC;CACjC,CAAC;AAEF,eAAO,MAAM,cAAc,uEAA+D,CAAC;AAC3F,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAC;AAExD,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,2FAA2F;IAC3F,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,cAAc,EAAE,cAAc,CAAC;IAC/B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB;;;;;OAKG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,cAAc,4CAAkD,CAAC;AAC9E,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAC;AAExD,eAAO,MAAM,YAAY,6CAAmD,CAAC;AAC7E,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAC;AAEpD,eAAO,MAAM,qBAAqB,sDAA4D,CAAC;AAC/F,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC,IAAI,CAAC;AAEtE,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,cAAc,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;IAChB,cAAc,EAAE,SAAS,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,YAAY,CAAC;IACxB,GAAG,EAAE,qBAAqB,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,cAAc,EAAE,cAAc,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,YAAY,GAAG,IAAI,CAAC;IACjC,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,cAAc,EAAE,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG;IAC5C,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,GAAG,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,YAAY,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,oBAAoB,gIAQ/B,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,OAAO,oBAAoB,CAAC,IAAI,CAAC;AAEpE,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC,CAAC;AAEF,eAAO,MAAM,uBAAuB,qEAA6D,CAAC;AAClG,MAAM,MAAM,uBAAuB,GAAG,OAAO,uBAAuB,CAAC,IAAI,CAAC;AAE1E,MAAM,MAAM,kBAAkB,GAC1B;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,SAAS,EAAE,YAAY,CAAA;CAAE,GAC9C;IAAE,KAAK,EAAE,YAAY,CAAC;IAAC,SAAS,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAChE;IAAE,KAAK,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7C,eAAO,MAAM,gBAAgB,oKAS3B,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,IAAI,CAAC;AAE5D,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,SAAS,aAAa,EAAE,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/gh-tool/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Command } from "effect/cli";
|
|
2
2
|
import { Effect, Option } from "effect";
|
|
3
|
+
import { GitHubTimeoutError } from "./errors";
|
|
3
4
|
import { GitHubService } from "./read/transport";
|
|
4
5
|
import type { JobRef } from "./read/reads";
|
|
5
6
|
import type { LogDiagnosis } from "./types";
|
|
@@ -83,6 +84,7 @@ type StepTiming = {
|
|
|
83
84
|
export declare const readJobLogApi: (path: string) => Effect.Effect<import("./read/transport").GhResult, import("./read/transport").GhError, GitHubService>;
|
|
84
85
|
export declare function parseRawJobLogs(raw: string, steps?: ReadonlyArray<StepTiming>): LogEntry[];
|
|
85
86
|
export declare function formatLogEntries(entries: LogEntry[]): string;
|
|
87
|
+
export declare function prioritizeFailureEntries(entries: LogEntry[]): LogEntry[];
|
|
86
88
|
export declare const diagnoseLogEntries: (entries: readonly LogEntry[]) => LogDiagnosis;
|
|
87
89
|
export declare const fetchJobLogs: (opts: {
|
|
88
90
|
runId: number;
|
|
@@ -169,7 +171,7 @@ export declare const workflowWatchCommand: Command.Command<"watch", {
|
|
|
169
171
|
readonly repo: Option.Option<string>;
|
|
170
172
|
readonly run: number;
|
|
171
173
|
readonly timeout: number;
|
|
172
|
-
}, {}, import("./read/transport").GhError, GitHubService>;
|
|
174
|
+
}, {}, GitHubTimeoutError | import("./read/transport").GhError, GitHubService>;
|
|
173
175
|
export declare const workflowJobLogsCommand: Command.Command<"job-logs", {
|
|
174
176
|
readonly diagnose: boolean;
|
|
175
177
|
readonly failedStepsOnly: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/gh-tool/workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAe,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/gh-tool/workflow.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-security.d.ts","sourceRoot":"","sources":["../../src/shared/content-security.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"content-security.d.ts","sourceRoot":"","sources":["../../src/shared/content-security.ts"],"names":[],"mappings":"AAcA,4FAA4F;AAC5F,eAAO,MAAM,sBAAsB,UAC1B,MAAM,YACJ;IAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,SAK3C,CAAC;AAUF,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,WAAW,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GAC5D,MAAM,GAAG,IAAI,CAcf;AAED,qFAAqF;AACrF,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,WAAW,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GAC5D,MAAM,CAuBR;AAED,oFAAoF;AACpF,wBAAgB,oBAAoB,CAAC,CAAC,EACpC,KAAK,EAAE,CAAC,EACR,WAAW,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GAC5D,CAAC,CAqBH"}
|
package/package.json
CHANGED
package/src/gh-tool/main.ts
CHANGED
|
@@ -55,6 +55,7 @@ import {
|
|
|
55
55
|
prReviewTriageBatchCommand,
|
|
56
56
|
prReviewTriageCommand,
|
|
57
57
|
prWaitMergeableCommand,
|
|
58
|
+
prWaitCommand,
|
|
58
59
|
prWatchCommand,
|
|
59
60
|
} from "./pr/index";
|
|
60
61
|
import { branchRenameCommand } from "./branch";
|
|
@@ -114,6 +115,7 @@ const prCommand = Command.make("pr", {}).pipe(
|
|
|
114
115
|
prStackCommand,
|
|
115
116
|
prRequestReviewCommand,
|
|
116
117
|
prWaitMergeableCommand,
|
|
118
|
+
prWaitCommand,
|
|
117
119
|
prThreadsCommand,
|
|
118
120
|
prCommentsCommand,
|
|
119
121
|
prReviewsCommand,
|
|
@@ -7,7 +7,7 @@ import type { CheckResult, PRStatusResult } from "#gh/types";
|
|
|
7
7
|
|
|
8
8
|
import { formatOption, logFormatted, logText } from "#shared";
|
|
9
9
|
import { GitHubService } from "#gh/read/transport";
|
|
10
|
-
import { GitHubCommandError } from "#gh/errors";
|
|
10
|
+
import { GitHubCommandError, GitHubTimeoutError } from "#gh/errors";
|
|
11
11
|
|
|
12
12
|
const emptyBatchError = (batch: string) =>
|
|
13
13
|
new GitHubCommandError({
|
|
@@ -54,6 +54,7 @@ import {
|
|
|
54
54
|
watchPRs,
|
|
55
55
|
viewPR,
|
|
56
56
|
waitForMergeable,
|
|
57
|
+
waitForPRState,
|
|
57
58
|
} from "./core";
|
|
58
59
|
import {
|
|
59
60
|
createReview,
|
|
@@ -585,6 +586,41 @@ export const prListCommand = Command.make(
|
|
|
585
586
|
),
|
|
586
587
|
);
|
|
587
588
|
|
|
589
|
+
export const prWaitCommand = Command.make(
|
|
590
|
+
"wait",
|
|
591
|
+
{
|
|
592
|
+
pr: Flag.Int("pr").pipe(
|
|
593
|
+
Flag.filter(
|
|
594
|
+
(n) => n > 0,
|
|
595
|
+
() => "--pr must be positive",
|
|
596
|
+
),
|
|
597
|
+
),
|
|
598
|
+
state: Flag.Literals("state", ["merged", "closed"]),
|
|
599
|
+
timeout: Flag.Int("timeout").pipe(
|
|
600
|
+
Flag.withDescription("Maximum wait in milliseconds, including API reads (default: 600000)"),
|
|
601
|
+
Flag.withDefault(600000),
|
|
602
|
+
Flag.filter(
|
|
603
|
+
(n) => n > 0,
|
|
604
|
+
() => "--timeout must be positive milliseconds",
|
|
605
|
+
),
|
|
606
|
+
),
|
|
607
|
+
format: formatOption,
|
|
608
|
+
repo: repoOption,
|
|
609
|
+
},
|
|
610
|
+
({ pr, state, timeout, format, repo }) =>
|
|
611
|
+
withRepo(
|
|
612
|
+
repo,
|
|
613
|
+
Effect.gen(function* () {
|
|
614
|
+
const result = yield* waitForPRState(pr, state, timeout);
|
|
615
|
+
yield* logFormatted(result, format);
|
|
616
|
+
}),
|
|
617
|
+
),
|
|
618
|
+
).pipe(
|
|
619
|
+
Command.withDescription(
|
|
620
|
+
"Wait for a PR to be merged or closed without merging; --timeout is in milliseconds",
|
|
621
|
+
),
|
|
622
|
+
);
|
|
623
|
+
|
|
588
624
|
export const prWaitMergeableCommand = Command.make(
|
|
589
625
|
"wait-mergeable",
|
|
590
626
|
{
|
|
@@ -1059,6 +1095,25 @@ export const prRerunChecksCommand = Command.make(
|
|
|
1059
1095
|
timeoutSeconds: timeout,
|
|
1060
1096
|
});
|
|
1061
1097
|
yield* logFormatted(result, format);
|
|
1098
|
+
if (watch && (result.status === "watch_timeout" || result.status === "discovery_timeout")) {
|
|
1099
|
+
return yield* new GitHubTimeoutError({
|
|
1100
|
+
message: result.message,
|
|
1101
|
+
timeoutMs: timeout * 1000,
|
|
1102
|
+
});
|
|
1103
|
+
}
|
|
1104
|
+
if (
|
|
1105
|
+
watch &&
|
|
1106
|
+
result.runs !== undefined &&
|
|
1107
|
+
result.runs.length > 0 &&
|
|
1108
|
+
result.status !== "completed"
|
|
1109
|
+
) {
|
|
1110
|
+
return yield* new GitHubCommandError({
|
|
1111
|
+
command: "pr rerun-checks --watch",
|
|
1112
|
+
exitCode: 1,
|
|
1113
|
+
stderr: "",
|
|
1114
|
+
message: result.message,
|
|
1115
|
+
});
|
|
1116
|
+
}
|
|
1062
1117
|
}),
|
|
1063
1118
|
),
|
|
1064
1119
|
).pipe(
|
package/src/gh-tool/pr/core.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Clock, Console, Effect, Option, Result } from "effect";
|
|
1
|
+
import { Clock, Console, Effect, Option, Result, Semaphore } from "effect";
|
|
2
2
|
|
|
3
3
|
import type {
|
|
4
4
|
BranchPRDetail,
|
|
@@ -267,7 +267,9 @@ export type CheckReport =
|
|
|
267
267
|
| { checksStatus: "none_reported"; reason: string; checks: null };
|
|
268
268
|
|
|
269
269
|
const summarizeFailedStepEntries = (entries: Array<{ step: string; message: string }>) => {
|
|
270
|
+
const first = entries[0];
|
|
270
271
|
const selected = entries
|
|
272
|
+
.slice(1)
|
|
271
273
|
.map((entry, index) => ({
|
|
272
274
|
entry,
|
|
273
275
|
index,
|
|
@@ -278,13 +280,15 @@ const summarizeFailedStepEntries = (entries: Array<{ step: string; message: stri
|
|
|
278
280
|
: 1,
|
|
279
281
|
}))
|
|
280
282
|
.toSorted((a, b) => a.rank - b.rank || b.index - a.index)
|
|
281
|
-
.slice(0,
|
|
283
|
+
.slice(0, 19)
|
|
282
284
|
.toSorted((a, b) => a.index - b.index);
|
|
283
285
|
const kept: Array<{ step: string; message: string }> = [];
|
|
284
286
|
for (const { entry } of selected.toReversed()) {
|
|
285
287
|
const clipped = { step: entry.step.slice(0, 80), message: entry.message.slice(0, 150) };
|
|
286
|
-
if (formatLogEntries([clipped, ...kept]).length <=
|
|
288
|
+
if (formatLogEntries([clipped, ...kept]).length <= 2_800) kept.unshift(clipped);
|
|
287
289
|
}
|
|
290
|
+
if (first !== undefined)
|
|
291
|
+
kept.unshift({ step: first.step.slice(0, 80), message: first.message.slice(0, 1000) });
|
|
288
292
|
let output = formatLogEntries(kept);
|
|
289
293
|
if (kept.length < entries.length)
|
|
290
294
|
output += `\n… ${entries.length - kept.length} log lines omitted`;
|
|
@@ -741,6 +745,26 @@ export const waitForMergeable = Effect.fn("pr.waitForMergeable")(function* (
|
|
|
741
745
|
return outcome.kind === "done" ? outcome.value : outcome.last;
|
|
742
746
|
});
|
|
743
747
|
|
|
748
|
+
export const waitForPRState = Effect.fn("pr.waitForPRState")(function* (
|
|
749
|
+
pr: number,
|
|
750
|
+
state: "merged" | "closed",
|
|
751
|
+
timeoutMs: number,
|
|
752
|
+
) {
|
|
753
|
+
const timeout = () =>
|
|
754
|
+
new GitHubTimeoutError({
|
|
755
|
+
message: `PR #${pr} did not reach ${state} within ${timeoutMs}ms. Increase --timeout to wait longer.`,
|
|
756
|
+
timeoutMs,
|
|
757
|
+
});
|
|
758
|
+
const outcome = yield* waits
|
|
759
|
+
.until(fetchPRView(pr, "origin"), (info) => info.state === state.toUpperCase(), {
|
|
760
|
+
intervalMs: 5000,
|
|
761
|
+
timeoutMs,
|
|
762
|
+
})
|
|
763
|
+
.pipe(Effect.timeoutOrElse({ duration: timeoutMs, orElse: () => Effect.fail(timeout()) }));
|
|
764
|
+
if (outcome.kind === "timedOut") return yield* timeout();
|
|
765
|
+
return { number: outcome.value.number, state: outcome.value.state, url: outcome.value.url };
|
|
766
|
+
});
|
|
767
|
+
|
|
744
768
|
export const createPR = Effect.fn("pr.createPR")(function* (opts: {
|
|
745
769
|
base: string | null;
|
|
746
770
|
title: string;
|
|
@@ -1541,10 +1565,11 @@ export const fetchChecks = Effect.fn("pr.fetchChecks")(function* (
|
|
|
1541
1565
|
(watchOutcome === null || watchOutcome.kind === "timedOut") &&
|
|
1542
1566
|
results.some((check) => check.bucket === "pending")
|
|
1543
1567
|
) {
|
|
1544
|
-
const
|
|
1568
|
+
const pendingChecks = results.filter((check) => check.bucket === "pending");
|
|
1569
|
+
const pending = pendingChecks.length;
|
|
1545
1570
|
yield* logFormatted(results, quiet ? "json" : "toon");
|
|
1546
1571
|
return yield* new GitHubTimeoutError({
|
|
1547
|
-
message: `Watch timed out, ${pending} pending after ${timeoutSeconds}s. This is not a CI verdict.`,
|
|
1572
|
+
message: `Watch timed out, ${pending} pending after ${timeoutSeconds}s: ${pendingChecks.map((check) => check.name).join(", ")}. Increase --timeout <seconds> to wait longer. This is not a CI verdict.`,
|
|
1548
1573
|
timeoutMs: timeoutSeconds * 1000,
|
|
1549
1574
|
});
|
|
1550
1575
|
}
|
|
@@ -2027,7 +2052,7 @@ const readRerunState = (runId: string, withStatus: boolean) =>
|
|
|
2027
2052
|
Effect.gen(function* () {
|
|
2028
2053
|
const run = yield* reads.runView(yield* resolveRepo(null), Number(runId), "origin");
|
|
2029
2054
|
const fields = withStatus
|
|
2030
|
-
? (["databaseId", "attempt", "status", "jobs"] as const)
|
|
2055
|
+
? (["databaseId", "attempt", "status", "conclusion", "jobs"] as const)
|
|
2031
2056
|
: (["databaseId", "attempt", "jobs"] as const);
|
|
2032
2057
|
return project(run, fields);
|
|
2033
2058
|
});
|
|
@@ -2051,18 +2076,21 @@ const readJobDiagnosis = Effect.fn("pr.readJobDiagnosis")(function* (
|
|
|
2051
2076
|
const discoverRerun = Effect.fn("pr.discoverRerun")(function* (
|
|
2052
2077
|
runId: string,
|
|
2053
2078
|
currentAttempt: number | null,
|
|
2054
|
-
currentJobIds: readonly number[],
|
|
2055
2079
|
deadline: number,
|
|
2080
|
+
runViewReads: Semaphore.Semaphore,
|
|
2056
2081
|
) {
|
|
2057
|
-
const read =
|
|
2058
|
-
|
|
2059
|
-
|
|
2082
|
+
const read = runViewReads
|
|
2083
|
+
.withPermit(readRerunState(runId, true))
|
|
2084
|
+
.pipe(Effect.catchTag("GitHubCommandError", () => Effect.succeed(null)));
|
|
2060
2085
|
const outcome = yield* waits.until(
|
|
2061
2086
|
read,
|
|
2062
2087
|
(latest) =>
|
|
2063
2088
|
latest !== null &&
|
|
2064
|
-
|
|
2065
|
-
|
|
2089
|
+
currentAttempt !== null &&
|
|
2090
|
+
currentAttempt > 0 &&
|
|
2091
|
+
latest.attempt !== undefined &&
|
|
2092
|
+
latest.attempt !== null &&
|
|
2093
|
+
latest.attempt === currentAttempt + 1,
|
|
2066
2094
|
{
|
|
2067
2095
|
intervalMs: 5000,
|
|
2068
2096
|
timeoutMs: Math.max(0, deadline - Number(yield* Clock.currentTimeMillis)),
|
|
@@ -2107,12 +2135,19 @@ export const rerunChecks = Effect.fn("pr.rerunChecks")(function* (
|
|
|
2107
2135
|
Effect.catchTag("GitHubCommandError", () => Effect.succeed(null)),
|
|
2108
2136
|
);
|
|
2109
2137
|
let evidence: RerunRetryEvidence = { state: "eligible", diagnosis: diagnoseLogEntries([]) };
|
|
2138
|
+
if (
|
|
2139
|
+
options.watch === true &&
|
|
2140
|
+
(run?.attempt === undefined || run.attempt === null || run.attempt <= 0)
|
|
2141
|
+
) {
|
|
2142
|
+
evidence = { state: "unavailable", reason: "current attempt unavailable for watched rerun" };
|
|
2143
|
+
}
|
|
2110
2144
|
if (failedOnly) {
|
|
2111
2145
|
const jobIds = run === null ? null : resolveJobIdsForFailedChecks(runChecks, run.jobs);
|
|
2112
2146
|
if (
|
|
2113
2147
|
run === null ||
|
|
2114
2148
|
run.attempt === null ||
|
|
2115
2149
|
run.attempt === undefined ||
|
|
2150
|
+
run.attempt <= 0 ||
|
|
2116
2151
|
jobIds === null ||
|
|
2117
2152
|
jobIds.length === 0
|
|
2118
2153
|
) {
|
|
@@ -2202,26 +2237,19 @@ export const rerunChecks = Effect.fn("pr.rerunChecks")(function* (
|
|
|
2202
2237
|
}
|
|
2203
2238
|
|
|
2204
2239
|
if (watch) {
|
|
2205
|
-
const
|
|
2206
|
-
candidates,
|
|
2207
|
-
(candidate, index) =>
|
|
2208
|
-
results[index]?.success
|
|
2209
|
-
? discoverRerun(
|
|
2210
|
-
candidate.runId,
|
|
2211
|
-
candidate.run?.attempt ?? null,
|
|
2212
|
-
candidate.run?.jobs?.map((job) => job.databaseId) ?? [],
|
|
2213
|
-
deadline,
|
|
2214
|
-
)
|
|
2215
|
-
: Effect.succeed(null),
|
|
2216
|
-
{ concurrency: 2 },
|
|
2217
|
-
);
|
|
2240
|
+
const runViewReads = yield* Semaphore.make(2);
|
|
2218
2241
|
yield* Effect.forEach(
|
|
2219
2242
|
candidates,
|
|
2220
2243
|
(candidate, index) =>
|
|
2221
2244
|
Effect.gen(function* () {
|
|
2222
2245
|
const result = results[index];
|
|
2223
2246
|
if (result === undefined || !result.success) return;
|
|
2224
|
-
const next =
|
|
2247
|
+
const next = yield* discoverRerun(
|
|
2248
|
+
candidate.runId,
|
|
2249
|
+
candidate.run?.attempt ?? null,
|
|
2250
|
+
deadline,
|
|
2251
|
+
runViewReads,
|
|
2252
|
+
);
|
|
2225
2253
|
result.newAttempt = next?.attempt ?? null;
|
|
2226
2254
|
result.newJobIds = next?.jobs.map((job) => job.databaseId) ?? null;
|
|
2227
2255
|
if (next === null) {
|
|
@@ -2232,8 +2260,17 @@ export const rerunChecks = Effect.fn("pr.rerunChecks")(function* (
|
|
|
2232
2260
|
let latest = next;
|
|
2233
2261
|
const outcome = yield* waits.until(
|
|
2234
2262
|
Effect.suspend(() =>
|
|
2235
|
-
readRerunState(candidate.runId, true).pipe(
|
|
2263
|
+
runViewReads.withPermit(readRerunState(candidate.runId, true)).pipe(
|
|
2236
2264
|
Effect.catchTag("GitHubCommandError", () => Effect.succeed(latest)),
|
|
2265
|
+
Effect.map((refreshed) =>
|
|
2266
|
+
refreshed.attempt !== undefined &&
|
|
2267
|
+
refreshed.attempt !== null &&
|
|
2268
|
+
next.attempt !== undefined &&
|
|
2269
|
+
next.attempt !== null &&
|
|
2270
|
+
refreshed.attempt < next.attempt
|
|
2271
|
+
? latest
|
|
2272
|
+
: refreshed,
|
|
2273
|
+
),
|
|
2237
2274
|
Effect.tap((refreshed) =>
|
|
2238
2275
|
Effect.sync(() => {
|
|
2239
2276
|
latest = refreshed;
|
|
@@ -2241,7 +2278,11 @@ export const rerunChecks = Effect.fn("pr.rerunChecks")(function* (
|
|
|
2241
2278
|
),
|
|
2242
2279
|
),
|
|
2243
2280
|
),
|
|
2244
|
-
(value) =>
|
|
2281
|
+
(value) =>
|
|
2282
|
+
next.attempt !== undefined &&
|
|
2283
|
+
next.attempt !== null &&
|
|
2284
|
+
value.attempt === next.attempt &&
|
|
2285
|
+
value.status === "completed",
|
|
2245
2286
|
{
|
|
2246
2287
|
initial: { value: latest },
|
|
2247
2288
|
intervalMs: 5000,
|
|
@@ -2250,17 +2291,34 @@ export const rerunChecks = Effect.fn("pr.rerunChecks")(function* (
|
|
|
2250
2291
|
);
|
|
2251
2292
|
latest = outcome.kind === "done" ? outcome.value : outcome.last;
|
|
2252
2293
|
result.latestAttempt = latest;
|
|
2253
|
-
result.status =
|
|
2294
|
+
result.status = outcome.kind === "done" ? "completed" : "watch_timeout";
|
|
2254
2295
|
}),
|
|
2255
|
-
{ concurrency:
|
|
2296
|
+
{ concurrency: "unbounded" },
|
|
2256
2297
|
);
|
|
2257
2298
|
}
|
|
2299
|
+
const status = results.some((result) => !result.success)
|
|
2300
|
+
? "failed"
|
|
2301
|
+
: !watch
|
|
2302
|
+
? "rerun_started"
|
|
2303
|
+
: results.some((result) => result.status === "discovery_timeout")
|
|
2304
|
+
? "discovery_timeout"
|
|
2305
|
+
: results.some((result) => result.status === "watch_timeout")
|
|
2306
|
+
? "watch_timeout"
|
|
2307
|
+
: results.every((result) => result.latestAttempt?.conclusion === "success")
|
|
2308
|
+
? "completed"
|
|
2309
|
+
: "failed";
|
|
2258
2310
|
const report: RerunChecksReport = {
|
|
2259
|
-
status
|
|
2311
|
+
status,
|
|
2260
2312
|
rerun: results.filter((result) => result.success).length,
|
|
2261
2313
|
failed: results.filter((result) => !result.success).length,
|
|
2262
2314
|
runs: results,
|
|
2263
|
-
message:
|
|
2315
|
+
message: watch
|
|
2316
|
+
? status === "watch_timeout" || status === "discovery_timeout"
|
|
2317
|
+
? "Rerun watch timed out; this is not a CI verdict"
|
|
2318
|
+
: status === "completed"
|
|
2319
|
+
? "Watched reruns completed successfully"
|
|
2320
|
+
: "Watched reruns did not complete successfully"
|
|
2321
|
+
: `Rerun ${results.filter((result) => result.success).length}/${results.length} GitHub Actions runs`,
|
|
2264
2322
|
};
|
|
2265
2323
|
return report;
|
|
2266
2324
|
});
|
package/src/gh-tool/pr/index.ts
CHANGED
|
@@ -29,6 +29,7 @@ export const WorkflowRun = Schema.Struct({
|
|
|
29
29
|
event: Schema.String,
|
|
30
30
|
url: Schema.String,
|
|
31
31
|
workflowName: Schema.String,
|
|
32
|
+
workflowDatabaseId: Schema.optionalKey(Schema.NullOr(Schema.Number)),
|
|
32
33
|
});
|
|
33
34
|
export const WorkflowRunDetail = Schema.Struct({
|
|
34
35
|
...WorkflowRun.fields,
|
|
@@ -39,7 +40,7 @@ export type WorkflowJob = typeof WorkflowJob.Type;
|
|
|
39
40
|
export type WorkflowRun = typeof WorkflowRun.Type;
|
|
40
41
|
export type WorkflowRunDetail = typeof WorkflowRunDetail.Type;
|
|
41
42
|
export const RUN_LIST_FIELDS =
|
|
42
|
-
"databaseId,displayTitle,status,conclusion,headBranch,headSha,createdAt,event,url,workflowName";
|
|
43
|
+
"databaseId,displayTitle,status,conclusion,headBranch,headSha,createdAt,event,url,workflowName,workflowDatabaseId";
|
|
43
44
|
export const RUN_VIEW_FIELDS = `${RUN_LIST_FIELDS},jobs,attempt`;
|
|
44
45
|
|
|
45
46
|
export const parsePreserving =
|
package/src/gh-tool/types.ts
CHANGED
|
@@ -192,6 +192,7 @@ export type RerunCheckAttempt = {
|
|
|
192
192
|
attempt?: number | null;
|
|
193
193
|
jobs: readonly RerunCheckJob[];
|
|
194
194
|
status?: string;
|
|
195
|
+
conclusion?: string | null;
|
|
195
196
|
};
|
|
196
197
|
|
|
197
198
|
export type RerunChecksRun = {
|
|
@@ -210,7 +211,14 @@ export type RerunChecksReport = {
|
|
|
210
211
|
rerun: number;
|
|
211
212
|
failed?: number;
|
|
212
213
|
message: string;
|
|
213
|
-
status?:
|
|
214
|
+
status?:
|
|
215
|
+
| "evidence_unavailable"
|
|
216
|
+
| "escalation_required"
|
|
217
|
+
| "failed"
|
|
218
|
+
| "rerun_started"
|
|
219
|
+
| "completed"
|
|
220
|
+
| "watch_timeout"
|
|
221
|
+
| "discovery_timeout";
|
|
214
222
|
runs?: RerunChecksRun[];
|
|
215
223
|
};
|
|
216
224
|
|
package/src/gh-tool/workflow.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { Effect, Option } from "effect";
|
|
|
3
3
|
|
|
4
4
|
import { formatOption, logFormatted, logText } from "#shared";
|
|
5
5
|
import { CI_CHECK_WATCH_TIMEOUT_MS } from "#gh/config";
|
|
6
|
-
import { GitHubCommandError, GitHubNotFoundError } from "./errors";
|
|
6
|
+
import { GitHubCommandError, GitHubNotFoundError, GitHubTimeoutError } from "./errors";
|
|
7
7
|
import { GitHubService } from "./read/transport";
|
|
8
8
|
import { reads, resolveRepo, waits, writes } from "./read";
|
|
9
9
|
import { rawJobLog } from "./read/reads";
|
|
@@ -57,13 +57,54 @@ const listRuns = Effect.fn("workflow.listRuns")(function* (opts: {
|
|
|
57
57
|
event: null,
|
|
58
58
|
limit: opts.limit,
|
|
59
59
|
});
|
|
60
|
-
return runs.map(({ headSha: _headSha, ...run }) =>
|
|
60
|
+
return runs.map(({ headSha: _headSha, workflowDatabaseId, ...run }) => {
|
|
61
|
+
if (run.conclusion !== "cancelled") return run;
|
|
62
|
+
const newer = runs
|
|
63
|
+
.filter(
|
|
64
|
+
(candidate) =>
|
|
65
|
+
workflowDatabaseId !== undefined &&
|
|
66
|
+
workflowDatabaseId !== null &&
|
|
67
|
+
workflowDatabaseId > 0 &&
|
|
68
|
+
candidate.workflowDatabaseId === workflowDatabaseId &&
|
|
69
|
+
run.headBranch.length > 0 &&
|
|
70
|
+
candidate.headBranch === run.headBranch &&
|
|
71
|
+
candidate.event === run.event &&
|
|
72
|
+
candidate.databaseId !== run.databaseId &&
|
|
73
|
+
Date.parse(candidate.createdAt) > Date.parse(run.createdAt),
|
|
74
|
+
)
|
|
75
|
+
.toSorted(
|
|
76
|
+
(left, right) =>
|
|
77
|
+
Date.parse(right.createdAt) - Date.parse(left.createdAt) ||
|
|
78
|
+
right.databaseId - left.databaseId,
|
|
79
|
+
)[0];
|
|
80
|
+
return Object.assign(
|
|
81
|
+
run,
|
|
82
|
+
{ cancellationReason: "unknown" },
|
|
83
|
+
newer === undefined
|
|
84
|
+
? {}
|
|
85
|
+
: {
|
|
86
|
+
newerRun: {
|
|
87
|
+
databaseId: newer.databaseId,
|
|
88
|
+
status: newer.status,
|
|
89
|
+
conclusion: newer.conclusion,
|
|
90
|
+
url: newer.url,
|
|
91
|
+
context:
|
|
92
|
+
"Newer run in this list with the same workflow, branch and event. The cancellation reason is unknown.",
|
|
93
|
+
},
|
|
94
|
+
},
|
|
95
|
+
);
|
|
96
|
+
});
|
|
61
97
|
});
|
|
62
98
|
|
|
63
99
|
const viewRun = Effect.fn("workflow.viewRun")(function* (runId: number, repo: string | null) {
|
|
64
100
|
const target = yield* resolveRepo(repo);
|
|
65
101
|
const detail = yield* reads.runView(target, runId);
|
|
66
|
-
const {
|
|
102
|
+
const {
|
|
103
|
+
attempt: _attempt,
|
|
104
|
+
headSha: _headSha,
|
|
105
|
+
workflowDatabaseId: _workflowDatabaseId,
|
|
106
|
+
...snapshot
|
|
107
|
+
} = detail;
|
|
67
108
|
return snapshot;
|
|
68
109
|
});
|
|
69
110
|
|
|
@@ -276,13 +317,16 @@ const watchRun = Effect.fn("workflow.watchRun")(function* (
|
|
|
276
317
|
);
|
|
277
318
|
const finalState = outcome.kind === "done" ? outcome.value : outcome.last;
|
|
278
319
|
|
|
279
|
-
return
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
320
|
+
return {
|
|
321
|
+
kind: outcome.kind,
|
|
322
|
+
result: buildWatchResult(
|
|
323
|
+
runId,
|
|
324
|
+
finalState,
|
|
325
|
+
outcome.kind === "timedOut" ? null : progress.join("\n"),
|
|
326
|
+
frames,
|
|
327
|
+
timeoutSeconds,
|
|
328
|
+
),
|
|
329
|
+
};
|
|
286
330
|
});
|
|
287
331
|
|
|
288
332
|
const fetchAnnotations = Effect.fn("workflow.fetchAnnotations")(function* (opts: {
|
|
@@ -462,6 +506,20 @@ const normalizeFingerprint = (message: string) =>
|
|
|
462
506
|
.trim()
|
|
463
507
|
.slice(0, 240);
|
|
464
508
|
|
|
509
|
+
export function prioritizeFailureEntries(entries: LogEntry[]): LogEntry[] {
|
|
510
|
+
const checkFail = entries.findLastIndex(({ message }) => /\bCHECK FAIL\b/.test(message));
|
|
511
|
+
const index =
|
|
512
|
+
checkFail >= 0
|
|
513
|
+
? checkFail
|
|
514
|
+
: entries.findIndex(
|
|
515
|
+
({ message }) =>
|
|
516
|
+
/\berror\b|\(fail\)|\bfatal\b|\bexception\b|\bfailed\b|\bfailure\b/i.test(message) &&
|
|
517
|
+
!/Process completed with exit code/i.test(message),
|
|
518
|
+
);
|
|
519
|
+
if (index <= 0) return entries;
|
|
520
|
+
return [entries[index], ...entries.slice(0, index), ...entries.slice(index + 1)];
|
|
521
|
+
}
|
|
522
|
+
|
|
465
523
|
export const diagnoseLogEntries = (entries: readonly LogEntry[]): LogDiagnosis => {
|
|
466
524
|
const fetchProgress =
|
|
467
525
|
/^(?:\s*(?:\*\s+\[new branch\]|\[new branch\]|From\s+\S+|\*\s+\[new tag\]|\s*->\s+origin\/)|\s*\+?git fetch\b|.*refs\/(?:heads|remotes)\/)/i;
|
|
@@ -614,7 +672,9 @@ export const fetchJobLogs = Effect.fn("workflow.fetchJobLogs")(function* (
|
|
|
614
672
|
const steps = !opts.failedStepsOnly
|
|
615
673
|
? []
|
|
616
674
|
: (opts.steps ??
|
|
617
|
-
(yield* listJobs(opts.runId, opts.repo)).find(
|
|
675
|
+
(job === null ? yield* listJobs(opts.runId, opts.repo) : [job]).find(
|
|
676
|
+
(j) => j.databaseId === jobId,
|
|
677
|
+
)?.steps ??
|
|
618
678
|
[]);
|
|
619
679
|
const attributed = parseAttributedJobLogs(raw, steps);
|
|
620
680
|
let entries: LogEntry[] = attributed.map(({ step, message }) => ({ step, message }));
|
|
@@ -632,6 +692,8 @@ export const fetchJobLogs = Effect.fn("workflow.fetchJobLogs")(function* (
|
|
|
632
692
|
}
|
|
633
693
|
}
|
|
634
694
|
|
|
695
|
+
if (opts.failedStepsOnly) entries = prioritizeFailureEntries(entries);
|
|
696
|
+
|
|
635
697
|
if (opts.diagnose) {
|
|
636
698
|
return { runId: opts.runId, job: opts.job, jobId, diagnosis: diagnoseLogEntries(entries) };
|
|
637
699
|
}
|
|
@@ -864,8 +926,16 @@ export const workflowWatchCommand = Command.make(
|
|
|
864
926
|
({ format, frames, repo, run, timeout }) =>
|
|
865
927
|
Effect.gen(function* () {
|
|
866
928
|
const resolvedRepo = yield* resolveRepoArg(repo);
|
|
867
|
-
const result = yield* watchRun(run, resolvedRepo, timeout, frames);
|
|
929
|
+
const { kind, result } = yield* watchRun(run, resolvedRepo, timeout, frames);
|
|
868
930
|
yield* logFormatted(result, format);
|
|
931
|
+
if (kind === "timedOut") {
|
|
932
|
+
return yield* new GitHubTimeoutError({
|
|
933
|
+
message: `Workflow run ${run} timed out after ${timeout}s with status ${result.status}`,
|
|
934
|
+
timeoutMs: timeout * 1000,
|
|
935
|
+
hint: "The snapshot shows an unfinished run. Run workflow watch again to keep watching.",
|
|
936
|
+
nextCommand: `agent-tools-gh workflow watch --run ${run}${resolvedRepo === null ? "" : ` --repo ${resolvedRepo}`}`,
|
|
937
|
+
});
|
|
938
|
+
}
|
|
869
939
|
}),
|
|
870
940
|
).pipe(Command.withDescription("Watch a workflow run until it completes, then show final status"));
|
|
871
941
|
|