hive-forge: add ci-log verb for actions job step logs (closes #1674)

This commit is contained in:
damocles 2026-06-16 11:34:31 +02:00
commit 2223af1b21
5 changed files with 216 additions and 0 deletions

View file

@ -55,6 +55,7 @@ hive-forge attach-issue 42 /path/to/file # upload a file attachment to an iss
hive-forge attach-comment 18042 /path/to/file # upload a file attachment to a comment; prints download URL
hive-forge attachment-get <uuid> # download an attachment; prints resolved path to stdout
hive-forge artifact-get pr1ma-paper-pdf --run 51 # download a CI run's Actions artifact zip (run number from the run-page URL)
hive-forge ci-log --run 51 # print a CI run's job step logs (run number from the run-page URL); --job i / --step i to narrow
hive-forge subscription --watch # subscribe to repo notifications
hive-forge subscription --unwatch # unsubscribe
hive-forge -r internal/knowledge clone # clone with creds auto-injected
@ -135,5 +136,15 @@ plain comment show under `last comment`, not `reviews`.
the run's internal global id, so the verb translates the run number
first. Saves a zip to `/tmp/forge-artifact-<name>.zip` by default; pass
`-o -` to stream to stdout.
- `ci-log --run <n> [--job i] [--step i]` prints a CI run's job step
logs. `<n>` is the run number from the run-page URL (same value
`artifact-get` takes; `pr-status` surfaces it as a CI context's
target_url). Forgejo exposes no REST endpoint for job logs, so the
verb drives the web run-view streamer the run page polls. `--job`
selects the job within the run (0-based, default 0); `--step` narrows
to one step. `act_runner` garbage-collects completed-run logs, so this
is reliable for live + recently-finished runs; when logs are gone the
verb says so rather than printing nothing. `--json` dumps the raw
run-view response.
- Do NOT use raw `curl` for forge access -- the CLI handles auth,
error checking, and output formatting.