Skip to content

feat: structured JSON summary for GitHub CI per-job picker#56

Merged
barrettruth merged 1 commit intomainfrom
fix/ci-per-job-picker
Apr 5, 2026
Merged

feat: structured JSON summary for GitHub CI per-job picker#56
barrettruth merged 1 commit intomainfrom
fix/ci-per-job-picker

Conversation

@barrettruth
Copy link
Copy Markdown
Owner

Summary

  • Add summary_json_cmd to GitHub backend — fetches run data as structured JSON with jq, including jobs with databaseId, status, duration, and step details
  • Add parse_summary_json in log.lua — renders a compact summary with status icons (/X/~/*/-), durations, and step progress counters ([2/4]) for in-progress jobs
  • CI picker now prefers JSON summary when summary_json_cmd is available, with graceful fallback to text parsing for other forges
  • Add json flag to forge.SummaryOpts to toggle JSON vs text parsing in open_summary
  • 7 new tests covering parse_summary (text ID extraction) and parse_summary_json (completed runs, in-progress step counting, header rendering, empty jobs, queued/in_progress icons)

Closes #18

Test plan

  • All 165 tests pass (158 existing + 7 new)
  • Open CI picker on a GitHub repo, select a run — verify JSON summary renders with status icons and durations
  • Select an in-progress run — verify step progress counters appear
  • Press <cr> on a job line — verify it drills into per-job logs
  • Open CI picker on a non-GitHub forge — verify text fallback still works

Add summary_json_cmd to GitHub backend that fetches run data as
structured JSON (name, status, conclusion, jobs with steps) instead
of relying on text parsing of gh run view output.

New parse_summary_json renders a compact summary with status icons,
durations, and step progress counters for in-progress jobs. The CI
picker now prefers the JSON path when available, falling back to
text parsing for other forges.

Closes #18
@barrettruth barrettruth merged commit ae0b38c into main Apr 5, 2026
7 checks passed
@barrettruth barrettruth deleted the fix/ci-per-job-picker branch April 5, 2026 01:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

live ci per-job picker (at least on github) STILL doesn't work

1 participant