mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-11 13:17:07 +00:00
Conflicts resolved: - .claude/.gitignore: union of ignore patterns - plugins/lookup/rbac_group_path.py: drop both unused conflicting imports (body fetches apps via lookup_loader) - roles/sys-svc-compose/handlers/main.yml: keep HEAD's refactor (compose-up handlers live in compose.yml, included per DEPLOYMENT_MODE) - utils/cache/base.py: keep HEAD's merge_with_defaults/FILE_TOKENS imports Post-merge fixes for main's newly-enabled lints: - pyproject.toml: grandfather 5 files under the BLE001 ratchet - justify 6 pre-existing security # noqa markers (S108/S311/S701) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.