This switches `run list` and `run view` commands to measure how long ago did the run happen by using `run_started_at`, which is the timestamp of the latest run in a series, instead of `created_at`, which is the timestamp of the first run. This change also fixes accurate duration for in-progress runs.
* Add branch and actor filters to `run list`
* Simplify what FilterOptions can do
* Check not only limit in TestNewCmdList
* Verify that branch/actor params are parsed properly
* Verify that API requests have proper query parameters
* Change flag name from actor to user
Co-authored-by: Sam Coe <samcoe@users.noreply.github.com>
This completely rewrites the PR lookup mechanism so that the caller
must specify the GraphQL fields to query for each PR. Additionally, this
fixes some export problems with `pr view --json`.
Features:
- Each pr command now gets assigned a concept of a Finder. This makes it
easier to stub the PR in tests without having to stub the underlying
HTTP calls or git invocations.
- `pr view --web` is much faster since it only fetches the "url" field.
- `pr diff 123` now skips a whole API call where a whole PR was
unnecessarily preloaded just to access its diff in a subsequent call.
- PullRequestGraphQL query builder is now used to construct queries.
- A bunch of individual commands are now freed of having to know about
concepts such as BaseRepo, Branch, Config, or Remotes.
GitHub REST resources typically return full URLs to fetch related
resources at. We used to parse those URLs to find just the path portion
and pass that in to the `REST()` function, which only accepted paths. By
doing so, we are essential de-constructing a URL just to re-assemble it
again. While re-assembling it for Enterprise, though, we would
accidentally inject an extra `api/v3/` prefix where one was not needed.
The solution is just to use raw URLs as reported by the REST API with
no modifications. This extends the `REST()` function to accept full URLs
in addition to just paths to resources.
* Implement first round of support for GitHub Actions
This commit adds:
gh actions
gh run list
gh run view
gh job view
as part of our first round of actions support. These commands are
unlisted and considered in beta.
* review feedback
* tests for exit status on job view
* spinner tracks io itself
* review feedback
* fix PR matching
* enable pager for job log viewing
* add more colorf functions
* add AnnotationSymbol
* hide job, run
* do not add method to api.Client
* remove useless cargo coded copypasta