Files
computer-playbook/cli/meta/ci/logs
kevinveenbirkenbachandClaude Opus 4.8 c1c5230302 Merge branch 'main' into feature/swarm-nfs
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>
2026-06-29 22:41:39 +02:00
..
…

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.