Files
computer-playbook/cli/meta/ci/logs/README.md
kevinveenbirkenbachandClaude Opus 4.8 9c029870fe feat(cli): add CI-logs download and analyze tooling
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>
2026-06-26 17:01:08 +02:00

863 B

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.