Commit graph

4888 commits

Author SHA1 Message Date
Mislav Marohnić
f6fcdf114e Use SetPrepareCmd hook to spy on OpenInBrowser
We are now able to assert that the browse command was called with the correct URL
2019-11-01 22:18:12 +01:00
Mislav Marohnić
d881a2e52e Ensure git operations preserve their stderr in error output
This also provides a SetPrepareCmd hook for tests to be able to define stubs for commands that are supposed to be run
2019-11-01 22:16:23 +01:00
Mislav Marohnić
875352a03c Fix issues order 2019-11-01 14:36:26 +01:00
Mislav Marohnić
4f03370aa5 Add tests 2019-10-31 23:43:50 +01:00
Mislav Marohnić
55e9c18840 Merge remote-tracking branch 'origin/master' into completion 2019-10-31 23:28:06 +01:00
Mislav Marohnić
a66aaafb19 Merge pull request #40 from github/version-flag
Add `--version` flag support
2019-10-31 23:13:26 +01:00
Mislav Marohnić
2939924124 Merge branch 'master' into version-flag 2019-10-31 23:13:07 +01:00
Mislav Marohnić
c3d70bd8cd Clarify where Version and BuildDate are set 2019-10-31 23:10:42 +01:00
Mislav Marohnić
f0ca9aa023 Merge pull request #41 from github/silence-usage
Silence Cobra usage on errors
2019-10-31 22:56:02 +01:00
Mislav Marohnić
e87775845d Also print cmd usage string on "unknown command" 2019-10-31 22:44:43 +01:00
Corey Johnson
cf1feb847e Add gh issue list and gh issue view ISSUE_NUMBER 2019-10-31 11:02:27 -07:00
nate smith
7555aa9be3 first pass at generalizing process stubbing 2019-10-31 11:29:39 -05:00
Mislav Marohnić
faa96be9ea Ensure that errors are printed to stderr 2019-10-31 15:46:38 +01:00
Mislav Marohnić
a6e61a3a8d Silence Cobra usage on errors
When an error occurs anywhere in a command, Cobra used to print the
error itself and command usage help.

We already print error in `main()`, and we don't want to use command
usage string on anything other than flag-parsing errors.

This also fixes the double output of each error.
2019-10-31 13:47:10 +01:00
Mislav Marohnić
0bf3e7500c Add --version flag support 2019-10-31 12:14:55 +01:00
Mislav Marohnić
d9ef40c873 Add completion script 2019-10-31 11:41:24 +01:00
Corey Johnson
357de1b183 Add Issue query 2019-10-30 16:26:33 -07:00
nate smith
ee0fe61b04 test nonzero exit code 2019-10-30 17:46:34 -05:00
nate smith
ab115efd89 add cases to test for 2019-10-30 17:06:49 -05:00
nate smith
fdbf85e9ab sigh worthy mechanism for selecting arbitrary git outputs 2019-10-30 16:45:11 -05:00
nate smith
f6afe1b576 use testing hack to mock git call 2019-10-30 16:34:23 -05:00
nate smith
9efe96575e actually add command 2019-10-30 12:01:54 -05:00
nate smith
dfd567bf7f blindly committing the state of these files 2019-10-30 12:00:35 -05:00
nate smith
5087ec5c15 restore pr create with new context/client 2019-10-30 12:00:16 -05:00
Corey Johnson
eefb6d13ee Merge pull request #34 from github/no-global
Eliminate package-level global state
2019-10-29 17:18:03 -07:00
Mislav Marohnić
862db45587 Add mising files 2019-10-29 21:19:34 +01:00
Mislav Marohnić
51b08f871e Merge pull request #37 from github/remove-readme-redirect
Remove redirect to helper-cli from the README
2019-10-29 21:18:27 +01:00
Mislav Marohnić
343ccaf0cb Merge remote-tracking branch 'origin/master' into no-global 2019-10-29 21:17:14 +01:00
Mislav Marohnić
39a6feba9c Now able to use api in oauth flow 2019-10-29 21:16:35 +01:00
Mislav Marohnić
f786802e9e Customizable API client 2019-10-29 21:07:03 +01:00
Julian Nadeau
642276faf8 Remove redirect to helper-cli from the README 2019-10-29 13:43:47 -04:00
Mislav Marohnić
e7159254b4 Merge pull request #31 from github/stop-vendor
Stop requiring vendored dependencies in CI
2019-10-28 15:05:01 +01:00
Mislav Marohnić
8370602f49 WIP eliminate package-level state in commands, context 2019-10-25 21:49:08 +02:00
Mislav Marohnić
641de86427 Eliminate package-level state in git remote parsing 2019-10-25 21:48:25 +02:00
Corey Johnson
07322341f8 Merge pull request #32 from github/update-readme
Update the README.md
2019-10-24 15:29:47 -07:00
Corey Johnson
c46f4d94ce Update README.md 2019-10-23 14:18:06 -07:00
Mislav Marohnić
6d8af20e30 Stop requiring vendored dependencies in CI
We started vendoring dependencies because this was a practice that the Go community had for a while now to:

1. Speed up builds - no need to fetch dependencies every time;
2. Guard against 3rd-party downtime - CI passes even if hosts such as `gopkg.in` are down, or if someone deletes their GitHub repo/account hosting a particular module.

With Go 1.13 and GitHub Actions, however, we have these problems solved for free:
- The built-in goproxy caches dependencies and speeds up downloads;
- Octofactory ensures that dependencies are cached on our own infrastructure, guarding us from 3rd-party downtime.

With all this in mind, I feel that we don't have to require vendoring dependencies anymore.
2019-10-23 22:35:11 +02:00
Nate Smith
24ebdc23b5 Merge pull request #27 from github/fix-repo-branch-flags
Fix global `--repo`, `--current-branch` functionality
2019-10-21 13:38:14 -05:00
Nate Smith
398bd27d02 Merge pull request #6 from github/oauth
OAuth authentication flow
2019-10-18 15:01:39 -05:00
Mislav Marohnić
c82e38353f Fix global --repo, --current-branch functionality
Turns out I've tried to use the flags' value too early: they are not yet
parsed out at package `init()` time.
2019-10-18 19:24:16 +02:00
Mislav Marohnić
5aca575964 Wire up OAuth authentication flow to initialize config file
The config file is now `~/.config/gh`.
2019-10-18 19:08:11 +02:00
Mislav Marohnić
2aa77fb8ea Add Context.SetAuthToken 2019-10-18 18:47:42 +02:00
Mislav Marohnić
de85294c79 Extract OAuth logic into a struct 2019-10-18 15:44:46 +02:00
Mislav Marohnić
7bf306f022 Generate and verify random "state" value
This is for extra security during OAuth flow.
2019-10-18 15:44:46 +02:00
Mislav Marohnić
216ffb89e2 Use random available port number 2019-10-18 15:44:46 +02:00
Mislav Marohnić
db0084f623 One weird trick to prevent macOS firewall popup
Discovered by a stay-at-home developer!
2019-10-18 15:44:46 +02:00
Mislav Marohnić
d90552454d Preliminary OAuth flow 2019-10-18 15:44:44 +02:00
Corey Johnson
e2767b463c Merge pull request #25 from github/pr-view-tests
Add tests for `gh pr view`
2019-10-17 10:48:09 -07:00
Corey Johnson
a25fa5d66b Merge remote-tracking branch 'origin/master' into pr-view-tests 2019-10-17 10:39:49 -07:00
Corey Johnson
2df6c914d6 Merge pull request #26 from github/rm-binary
rm accidentally checked-in binary
2019-10-17 09:39:42 -07:00