Commit graph

393 commits

Author SHA1 Message Date
Mislav Marohnić
3931c16bd7 Provide version number at build time 2021-07-26 17:07:42 +02:00
Issy Long
c092a29350 cmd/ghcs/ssh: Add -c parameter for specifying a Codespace to SSH to
- This adds a `-c`, `--codespace` parameter to `ghcs ssh` to allow for
  non-interactively specifying a Codespace to SSH into, for instance if
  a user has recently done `ghcs list` and already knows which Codespace
  they want to access. Without a value for the `-c` parameter, the
  interactive prompt appears as usual.
2021-07-26 14:58:48 +01:00
CamiloGarciaLaRotta
7e49db3be3 config: bump to 0.7.1
Hoping to prove that Goreleaser & Homebrew run automatically
2021-07-22 10:33:00 -04:00
CamiloGarciaLaRotta
f35186485c Merge pull request #31 from github/feat/promptless-create
feat: introduce repo, branch and machine flags for ghcs create
2021-07-22 10:18:03 -04:00
Camilo Garcia La Rotta
14468baba6 config: bump to v0.7.0 2021-07-22 10:13:20 -04:00
CamiloGarciaLaRotta
89cf916e23 Merge branch 'main' into feat/promptless-create 2021-07-22 10:09:21 -04:00
Camilo Garcia La Rotta
3ef0226e20 fix: output available machine names on --machine error 2021-07-22 10:07:09 -04:00
CamiloGarciaLaRotta
2f467e3ddc Merge branch 'main' into feat/richer-delete 2021-07-22 09:55:20 -04:00
Issy Long
69865fa762 cmd/ghcs/main: Better description of ghcs as a whole
Co-authored-by: Camilo Garcia La Rotta <camilogarcialarotta@github.com>
2021-07-22 14:08:20 +01:00
Issy Long
b66d65379f cmd/ghcs/*.go: Better short descriptions of what commands do
- I ran `--help` on `ghcs code` and saw `ghcs code` and that was it,
  which was surprising. I expected a description.
- Here's a fix for all of the commands thus far to give them longer
  descriptions.
- I've only done "short" descriptions in Cobra terms, and removed the
  "long" descriptions as they seemed like they needed to be
  unnecessarily verbose.

Before:

```
❯ ghcs --help
Codespaces

Usage:
  ghcs [command]

Available Commands:
  code        code
  create      Create
  delete      delete
  help        Help about any command
  list        list
  ports       ports
  ssh         ssh

Flags:
  -h, --help      help for ghcs
  -v, --version   version for ghcs

Use "ghcs [command] --help" for more information about a command.

❯ ghcs ssh --help
ssh

Usage:
  ghcs ssh [flags]

Flags:
  -h, --help              help for ssh
      --profile string    SSH Profile
      --server-port int   SSH Server Port
```

After:

```
❯ ./ghcs --help
Codespaces

Usage:
  ghcs [command]

Available Commands:
  code        Open a GitHub Codespace in VSCode.
  create      Create a GitHub Codespace.
  delete      Delete a GitHub Codespace.
  help        Help about any command
  list        List GitHub Codespaces you have on your account.
  ports       Forward ports from a GitHub Codespace.
  ssh         SSH into a GitHub Codespace, for use with running tests/editing in vim, etc.

Flags:
  -h, --help      help for ghcs
  -v, --version   version for ghcs

Use "ghcs [command] --help" for more information about a command.

❯ ./ghcs ssh --help
SSH into a GitHub Codespace, for use with running tests/editing in vim, etc.

Usage:
  ghcs ssh [flags]

Flags:
  -h, --help              help for ssh
      --profile string    SSH Profile
      --server-port int   SSH Server Port
```
2021-07-22 11:07:23 +01:00
Camilo Garcia La Rotta
a68cda1469 refactor: break down Create() into smaller funcs 2021-07-21 20:54:18 -04:00
Camilo Garcia La Rotta
3db217fef0 feat: make sku survey optional 2021-07-21 20:27:22 -04:00
Camilo Garcia La Rotta
aab98ccc18 feat: break out repo and branch surveys 2021-07-21 20:06:05 -04:00
Camilo Garcia La Rotta
c751e88120 feat: introduce repo, branch and machine flags for ghcs create 2021-07-21 19:56:08 -04:00
Camilo Garcia La Rotta
5ca2fa5562 feat: ghcs delete repo REPO_NAME 2021-07-21 18:13:36 -04:00
Camilo Garcia La Rotta
7a0a8fa39c feat: ghcs delete all 2021-07-21 18:02:50 -04:00
Camilo Garcia La Rotta
0d6926e14b doc: root cmd description 2021-07-21 17:41:50 -04:00
Jose Garcia
532ee68165 Fix ssh command order 2021-07-21 14:04:42 -04:00
Jose Garcia
345e3e1b8a Update main.go 2021-07-21 13:50:19 -04:00
Jose Garcia
f7c80c99e7 Merge pull request #27 from github/jg/code-command
ghcs code command support
2021-07-21 13:48:10 -04:00
Jose Garcia
b44355d80d Merge pull request #26 from github/jg/secrets-and-server-port
Don't overwrite .zshenv, support server port for SSH, forward X11
2021-07-21 13:30:16 -04:00
Jose Garcia
c2b136a84f ghcs code command support 2021-07-21 13:28:47 -04:00
Jose Garcia
3e50fff2c9 X11 support 2021-07-21 10:22:33 -04:00
Kristján Oddsson
7a3e47ff3e Update error message link and wording. 2021-07-21 12:46:44 +01:00
Jose Garcia
e81bee6886 Doesn't overwrite .zshenv and supports server-port 2021-07-20 18:43:43 -04:00
Jose Garcia
8faee1e5a9 Update main.go 2021-07-20 08:09:48 -04:00
Jose Garcia
5e803aca79 Merge pull request #20 from github/jg/better-conn-handling
Bump go-liveshare w/ better connection handling and simpler ssh setup
2021-07-20 08:08:33 -04:00
Jose Garcia
6642fb520a Better connection handling and simpler ssh setup 2021-07-20 08:04:34 -04:00
Issy Long
2f8d00e0f8 Merge pull request #19 from github/version-cmd
cmd/ghcs/main: Add `--version` flag
2021-07-20 13:02:41 +01:00
Issy Long
4582fed1cc cmd/ghcs/main: Add --version flag
- This is built into Cobra the argument parser. Now `ghcs --version`
  exists.
- When we prepare to bump the version, we need to remember to update
  this value else the Homebrew formula, GitHub releases and the `ghcs
  --version` output will be mismatched.
- Fixes https://github.com/github/ghcs/issues/16.
2021-07-19 18:45:18 +01:00
Issy Long
cb29b11ab2 cmd/ghcs/main: Fail gracefully if GITHUB_TOKEN entirely unset
- I have my GitHub API token in my environment as
  `HOMEBREW_GITHUB_API_TOKEN`, so with things that need `GITHUB_TOKEN` I
  have to remember to `export GITHUB_TOKEN=$HOMEBREW_GITHUB_API_TOKEN`.
- I didn't for this tool, and got this unfriendly error message:

```
❯ ghcs list
Error: error getting user: Bad credentials
Usage:
  ghcs list [flags]

Flags:
  -h, --help   help for list

error getting user: Bad credentials
```

- This moves the "do you have a `GITHUB_TOKEN`" question to the very
  beginning (no guarantees about org SSO access, just a string that
  exists), erroring out with a nice message if users don't have that
  envvar set:

```
issyl0 in cetus in ~/repos/github/ghcs/cmd/ghcs on gracefully-fail-if-token-envvar-unset
❯ ./ghcs list
The GITHUB_TOKEN environment variable is required. Create a Personal Access Token with org SSO access at https://github.com/settings/tokens/new.

issyl0 in cetus in ~/repos/github/ghcs/cmd/ghcs on gracefully-fail-if-token-envvar-unset
❯ export GITHUB_TOKEN=$HOMEBREW_GITHUB_API_TOKEN

❯ ./ghcs list
+--------------------------------+--------------------+------------------------------------+----------+---------------------------+
|              NAME              |     REPOSITORY     |               BRANCH               |  STATE   |        CREATED AT         |
+--------------------------------+--------------------+------------------------------------+----------+---------------------------+
| issyl0-github-cat-ggrpj5fvwvr  | github/cat         | dependabot/bundler/graphql-1.12.13 | Shutdown | 2021-07-13T12:36:53+01:00 |
+--------------------------------+--------------------+------------------------------------+----------+---------------------------+
```
2021-07-19 18:10:15 +01:00
Jose Garcia
570a407bac Fix directive 2021-07-19 08:00:51 -04:00
Jose Garcia
798413848b Portfowarding private/public/forward now supported 2021-07-17 20:32:47 -04:00
Jose Garcia
3c42ab8f7a ghcs ports v1 2021-07-16 18:45:38 -04:00
Jose Garcia
44698ea1de Merge branch 'main' into mislav/timeout 2021-07-15 11:54:52 -04:00
Jose Garcia
ecea5b821a Give more time to start 2021-07-15 14:35:26 +00:00
Mislav Marohnić
d506a97419 Increase ssh command timeout and improve error message
- My `github/github` codespace failed to start within 10s
- Output more precise error message
2021-07-15 16:10:03 +02:00
Mislav Marohnić
d46420e812 Improve ssh command
- Ensure parent process exits when `ssh` sub-process is done
- Enable connections to `github/github` when `--profile` flag wasn't given
2021-07-15 16:07:23 +02:00
Jose Garcia
a5f558bf2a Makes secrets work 2021-07-15 08:49:18 -04:00
Jose Garcia
4a0eaa3da5 Latest and greatest 2021-07-14 16:12:30 -04:00
Sam
33c3fb5cdd
Merge pull request #3870 from cli/extensions-revisited
Improvements to gh extensions
2021-06-28 17:12:29 -07:00
Mislav Marohnić
1ec47d8191 Improvements to gh extensions
- Extensions on Windows now enabled through the `sh.exe` interpreter
- `sh.exe` now found on Windows when git was installed via scoop
- `gh extensions list` command shows origin repo for the extension
- `gh extensions upgrade --all` is required to upgrade all extensions
- Added `gh extensions remove`
- Shell completions now include aliases and extension names
- `gh` help output now lists available extension names
- Extensions are stored to XDG_DATA_HOME
2021-06-21 16:54:08 +02:00
Mislav Marohnić
8ff42bf28c Fix repo override 2021-06-17 17:58:46 +02:00
Mislav Marohnić
8dd1e12f64 Merge remote-tracking branch 'origin' into fix-actions-help 2021-06-17 16:13:34 +02:00
Mislav Marohnić
883943946a Add a global pre-run hook to handle auth check and repo override
With auth check being done via Cobra hooks, it is automatically skipped
for non-runnable commands and `-h/--help` flag usage.
2021-06-17 16:01:57 +02:00
chemotaxis
1e3bba5ff6 Add comment about cmd.Help()
The linter picked up that the error value from cmd.Help() isn't checked.

Even though cmd.Help() returns an error value, it's always nil. The
inner HelpFunc() function directly prints the error message instead of
returning an error value.
2021-06-16 22:28:41 -04:00
chemotaxis
558ff2dff0 Skip authentication message if asking for help
Currently, this still checks authentication, but we skip the
authentication message and exit normally.
2021-06-16 14:25:08 -04:00
chemotaxis
c903f1ecd0 Ask for and print help even if logged out
You have to explicitly ask for help using the help flags.  Otherwise,
`gh` will just print the authentication message.
2021-06-16 01:18:52 -04:00
Sam Coe
edfac42384
Set up iostreams in factory default 2021-06-15 09:20:00 -04:00
Cristian Dominguez
b3c2318e09 Increase GH_PAGER precedence
If `GH_PAGER` is exists, set it as the pager even if one is
already set in config.

This allows a user to change/disable the pager per single invocation.
2021-06-04 23:22:37 -03:00