Files
Alex Stanfield b4238b3319 Use Go client for flaky report GitHub API calls (#11523)
## What changed?
- Replace the `gh api` subprocesses used by `flakereport` with a shared
Go HTTP client.
- Rate-limit GitHub API requests to 10 RPS by default; allow an explicit
`--rps` override.
- Stream artifact downloads to temporary files while preserving the
existing 60-second download deadline and artifact worker pool.

## Why?
The report performs a GitHub API request for every artifact. Avoiding a
new `gh` process for each request removes that per-request overhead
without adding a more complex processing pipeline.

## How did you test it?
- [x] added new unit test(s)
- [x] checked the diff for whitespace errors
- [ ] built
- [ ] run locally and tested manually
- [ ] covered by existing tests
- [ ] added new functional test(s)

## Potential risks
The client uses the existing `GH_TOKEN`/`GITHUB_TOKEN` environment
variables, falling back to one `gh auth token` call. Transient API
errors are surfaced to the existing per-artifact error handling rather
than retried.
2026-08-15 14:48:11 -05:00
..
2026-06-24 07:22:13 -07:00