more results

This commit is contained in:
Daylin Morgan 2025-02-03 06:30:00 -06:00
parent 9bab5cfbfc
commit 1e6f77ebba
Signed by: daylin
GPG key ID: 950D13E9719334AD

View file

@ -1,5 +1,5 @@
import std/[httpclient,logging, os, strformat, strutils, json, tables, tempfiles, times] import std/[httpclient,logging, os, strformat, strutils, json, tables, tempfiles, times]
import jsony, hwylterm, hwylterm/logging, zippy/ziparchives import jsony, hwylterm, hwylterm/logging, zippy/ziparchives, resultz
import ./[exec, context] import ./[exec, context]
@ -78,10 +78,11 @@ proc postGhApi(url: string, body: JsonNode) =
if response.code != Http204: if response.code != Http204:
errorQuit "failed to post github api request" errorQuit "failed to post github api request"
proc getInProgressRun( proc getInProgressRun(
workflow: string, workflow: string,
timeout: int = 10000 timeout: int = 10000
): (GhWorkflowRun, bool) = ): Opt[GhWorkflowRun] =
## wait up to 10 seconds to try to fetch ongoing run url ## wait up to 10 seconds to try to fetch ongoing run url
let let
start = now() start = now()
@ -93,7 +94,7 @@ proc getInProgressRun(
let runs = fromJson(response.body, ListGhWorkflowResponse).workflow_runs let runs = fromJson(response.body, ListGhWorkflowResponse).workflow_runs
if runs[0].status in ["in_progress", "queued"]: if runs[0].status in ["in_progress", "queued"]:
spinner.stop() # cleanup spinner.stop() # cleanup
return (runs[0], true) return ok runs[0]
sleep 500 sleep 500
warn "timeout reached waiting for workflow to start" warn "timeout reached waiting for workflow to start"
@ -110,8 +111,11 @@ proc createDispatch*(workflowFileName: string, `ref`: string, inputs: Table[stri
fmt"https://api.github.com/repos/daylinmorgan/oizys/actions/workflows/{workflow}/dispatches", fmt"https://api.github.com/repos/daylinmorgan/oizys/actions/workflows/{workflow}/dispatches",
body body
) )
let (run, ok) = getInProgressRun(workflow) case getInProgressRun(workflow)
if ok: info "view workflow run at: " & run.html_url of Some(run):
info "view workflow run at: " & run.html_url
of None:
warn "couldn't determine workflow url"
proc listUpdateRuns(): seq[GhWorkflowRun] = proc listUpdateRuns(): seq[GhWorkflowRun] =
## get update.yml runs ## get update.yml runs