mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-06 10:59:59 +00:00
python -m cli.meta.ci.logs.download fetches a run's job logs and artefacts in parallel, with conclusion filters (-s/-f/-c/-k), a jobs.json/summary.tsv manifest, per-request jitter to dodge API rate limits, and idempotent re-runs. python -m cli.meta.ci.logs.analyze clusters the downloaded logs by their root failing task. Rename the agent CI-triage page debug/pipeline.md to debug/ci.md, point its download/inspect step at the new CLI, and reference the tooling from the contributing CI-debugging page. Add unit tests for both commands. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
12 lines
863 B
Markdown
12 lines
863 B
Markdown
# Logs 📥
|
|
|
|
Download GitHub Actions job logs and run artifacts for a CI run, optionally filtered by job conclusion, for local inspection.
|
|
|
|
```
|
|
python -m cli.meta.ci.logs.download <run-id|run-url> [-s] [-f] [-c] [--skipped] [-d DEST] [-j N]
|
|
```
|
|
|
|
Conclusion flags select which jobs' logs are fetched (`-s`/`--success`, `-f`/`--failed`, `-c`/`--cancelled`, `--skipped`); with none given every completed job is fetched. Logs land under `DEST/logs/`, artifacts under `DEST/artifacts/`. `DEST` defaults to `/tmp/logs/<run-id>`. Job logs are available per job even while the run is still in progress; `--no-logs` / `--no-artifacts` skip either half.
|
|
|
|
Logs and artifacts download in parallel across `-j`/`--jobs` workers (default: CPU count); each worker waits a random `1`-`2*workers` second jitter before its request so the burst does not trip GitHub API rate limits.
|