You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Summary: Add a --list-only mode to scripts/fetch-workflow-logs.py that previews matching workflow runs (and writes metadata-only manifest output) without downloading log archives.
Why a Customer Would Want This
When maintainers are debugging noisy CI periods, they often need to confirm which runs match --since/--until/--conclusion before pulling ZIP logs. Today the script always downloads logs once matches are found, which makes quick investigation loops slower and more expensive.
Rough Implementation Sketch
Add --list-only (and optional --format table|json) CLI flags in scripts/fetch-workflow-logs.py.
Reuse existing _fetch_runs(...) output to print a compact run summary (run_id, created_at, conclusion, html_url) and skip _download_runs(...) when list-only is enabled.
Keep manifest output behavior, but in list-only mode write run metadata with empty log_files arrays.
Extend tests/test_fetch_workflow_logs.py with coverage for list-only path (no download call, correct manifest/screen output).
Why It Won't Be That Hard
This is a focused change in one script plus one test module. The script already has clear phase boundaries (_fetch_runs, _download_runs, _write_manifest) and existing tests around filtering behavior, so list-only is mostly a control-flow addition rather than new infrastructure.
Evidence
scripts/fetch-workflow-logs.py currently always downloads when runs exist (main() calls _download_runs unconditionally after _fetch_runs, lines 200-213).
The download phase is already isolated in _download_runs(...) (scripts/fetch-workflow-logs.py, lines 171-190), making it straightforward to bypass for preview mode.
Existing test coverage for run filtering and fetch behavior is in tests/test_fetch_workflow_logs.py (lines 17-97), providing a natural place to add list-only assertions.
Feature Idea
Summary: Add a
--list-onlymode toscripts/fetch-workflow-logs.pythat previews matching workflow runs (and writes metadata-only manifest output) without downloading log archives.Why a Customer Would Want This
When maintainers are debugging noisy CI periods, they often need to confirm which runs match
--since/--until/--conclusionbefore pulling ZIP logs. Today the script always downloads logs once matches are found, which makes quick investigation loops slower and more expensive.Rough Implementation Sketch
--list-only(and optional--format table|json) CLI flags inscripts/fetch-workflow-logs.py._fetch_runs(...)output to print a compact run summary (run_id,created_at,conclusion,html_url) and skip_download_runs(...)when list-only is enabled.log_filesarrays.tests/test_fetch_workflow_logs.pywith coverage for list-only path (no download call, correct manifest/screen output).Why It Won't Be That Hard
This is a focused change in one script plus one test module. The script already has clear phase boundaries (
_fetch_runs,_download_runs,_write_manifest) and existing tests around filtering behavior, so list-only is mostly a control-flow addition rather than new infrastructure.Evidence
scripts/fetch-workflow-logs.pycurrently always downloads when runs exist (main()calls_download_runsunconditionally after_fetch_runs, lines 200-213)._download_runs(...)(scripts/fetch-workflow-logs.py, lines 171-190), making it straightforward to bypass for preview mode.tests/test_fetch_workflow_logs.py(lines 17-97), providing a natural place to add list-only assertions.Note
🔒 Integrity filter blocked 15 items
The following items were blocked because they don't meet the GitHub integrity level.
search_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".search_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".search_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".search_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".search_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".search_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".list_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".list_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".search_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".search_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".search_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".search_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".search_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".search_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".To allow these resources, lower
min-integrityin your GitHub frontmatter:What is this? | From workflow: Trigger Product Manager Impersonator
Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not.