Commit graph

146 commits

Author SHA1 Message Date
Marwan Sulaiman
a3940020f9
Inherit API endpoint configuration from the Codespaces environment (#4723)
gh codespace commands now respect the following environment variables:

- GITHUB_SERVER_URL: typically "https://github.com"
- GITHUB_API_URL: typically "https://api.github.com"
- INTERNAL_VSCS_TARGET_URL: typically "https://online.visualstudio.com"
- GITHUB_TOKEN when CODESPACES is set, even if the host connecting to isn't "github.com".

This set of changes ensures that `gh codespace` commands automatically connect to the right API endpoints when gh is used within a codespace.

Co-authored-by: Mislav Marohnić <mislav@github.com>
2021-11-22 12:40:01 +01:00
Jeff Hubbard
91dc722170 Remove the default value from idle-timeout as the API takes care of it and this can override user settings 2021-11-18 11:38:26 -08:00
Jeff Hubbard
90313fbf96
Add idle timeout to cs create parameters (#4741)
Co-authored-by: Mislav Marohnić <mislav@github.com>
2021-11-18 11:47:48 +00:00
Amanda Lin
15c8f291e4
Add prebuild availability status to create codespaces (#4737) 2021-11-17 19:41:05 +01:00
Jose Garcia
8296904c26
Rename errors from Live Share to generic codespace 2021-11-08 13:35:48 +00:00
Mislav Marohnić
83a08aa3ba Remove unnecessary pointers to Go maps 2021-10-25 17:20:12 +02:00
Mislav Marohnić
8d9e8e317e
Merge pull request #4591 from cli/codespaces-json-export
Add export functionality to codespace commands
2021-10-25 17:10:32 +02:00
Mislav Marohnić
905cb3b9fa Touch-up codespaces exporting functionality 2021-10-25 15:45:10 +02:00
Mislav Marohnić
436762dd54 codespace create: make the branch input optional
When blank, the branch name will default to the default branch for the
repository.
2021-10-22 15:43:26 +02:00
Mislav Marohnić
badbf515cb codespace list: support --json and --template export flags 2021-10-22 14:13:15 +02:00
Mateusz Urbanek
67595110e8
Improve table output from codespace list command (#4516)
Co-authored-by: Jose Garcia <josebalius@github.com>
Co-authored-by: Mislav Marohnić <mislav@github.com>
2021-10-21 16:42:08 +00:00
Jose Garcia
bbea5ac95e
codespace: progress indication, logging (#4555)
* Rework logging, showing progress, and printing from `codespace` commands
* Change rendering of the general progress indicator so that it's visible on both dark and light backgrounds
* The progress indicator now "spins" faster

Co-authored-by: Mislav Marohnić <mislav@github.com>
2021-10-21 18:04:04 +02:00
Alan Donovan
fc1de3aaa0
Merge pull request #4564 from cli/e-flag
gh cs cp: disable remote shell expansion unless -e flag
2021-10-19 11:38:19 -04:00
Alan Donovan
f683d6cb4c Disable remote shell expansion unless -e 2021-10-19 10:11:31 -04:00
Alan Donovan
b96ccb4d99
Merge pull request #4553 from cli/cs-cp
gh cs cp: copy files between local/remote file systems
2021-10-18 17:32:08 -04:00
Alan Donovan
48ada6d5f2 Use correct destination string, not root@localhost 2021-10-18 13:59:41 -04:00
Alan Donovan
e31b2567b8 gh cs cp: copy files between local/remote file systems 2021-10-18 12:39:09 -04:00
Jose Garcia
337c557638 Fix Git status fields to snake case 2021-10-18 09:22:08 -04:00
Nick Fyson
1e52b4c7f9 change expected delete status to 202 2021-10-15 12:42:51 +01:00
Jose Garcia
1aec892326
Merge pull request #4520 from cli/jg/new-api-shape
codespace: implement new API payload
2021-10-14 19:59:59 -04:00
Mislav Marohnić
b0360612d2
Merge pull request #4521 from cli/jg/bind-locally
codespace: switches port binding to 127.0.0.1 where possible
2021-10-14 20:29:21 +02:00
Mislav Marohnić
78443964d4
Merge pull request #4513 from cli/missing-oauth-scopes
Warn about missing OAuth scopes when reporting HTTP 4xx errors
2021-10-14 20:21:13 +02:00
Mislav Marohnić
693193fe84 Consistent error handling in codespaces API operations
Using HandleHTTPError ensures that hints regarding insufficient OAuth
scopes will be properly reported on stderr.
2021-10-14 18:16:04 +02:00
Jose Garcia
b0905a415f
Merge pull request #4508 from cli/jg/codespace-stop
codespace stop: new command to stop a running codespace
2021-10-14 11:22:25 -04:00
Jose Garcia
0748e658cc Switches port binding to 127.0.0.1 where possible 2021-10-14 11:07:25 -04:00
Jose Garcia
3544275c2f Implement new API payload for a Codespace 2021-10-14 09:10:15 -04:00
Jose Garcia
97b52b30fc Merge branch 'trunk' of github.com:cli/cli into jg/liveshare-keepalive 2021-10-13 10:45:40 -04:00
Alan Donovan
675ee316e9
Merge pull request #4504 from cli/show-http-status
cs create: include HTTP status code in error from /user/codespaces/*/start
2021-10-13 09:00:37 -04:00
Jose Garcia
77a86e8611 Fix for API response body change
- Connection is now embedded within the top level of the Codespace
  payload instead of inside the environment.
2021-10-13 08:07:59 -04:00
Jose Garcia
ea0d0a543f Initial StopCodespace implementation
- API
- Command
2021-10-13 07:45:54 -04:00
Alan Donovan
9302e68c92 Include HTTP status code in error 2021-10-13 07:00:55 -04:00
Jose Garcia
5170a2931f Switch to standard lib log.Logger & support dfile
- --debug-file flag can now be used in conjuction with --debug to
  specify the debug file path
- Push out logger concerns to callers of liveshare
2021-10-12 15:45:05 -04:00
Mateusz Urbanek
cedbbe3c2a
Add limit flag to codespace list (#4453)
Co-authored-by: Mislav Marohnić <mislav@github.com>
2021-10-11 18:32:40 +00:00
Jose Garcia
9c8351ecd8 Merge branch 'trunk' of github.com:cli/cli into jg/liveshare-keepalive 2021-10-07 11:10:45 -04:00
Jose Garcia
400749d560 Fix regression returning nil codespace 2021-10-07 11:01:24 -04:00
Jose Garcia
55f4fcf05c Live Share session activity detection
- Session now accepts two new options: ClientName and Logger
- Port forwarder now supports a keepAlive parameter which when true,
  instructs the PF to call the session's keepAlive method.
- Port forwarder uses a new traffic monitor to detect I/O traffic and
  notify the session when applicable.
- The SSH command introduces a new debug flag which enables the command
  to log to a new temporary file. The file path is printed to the user.
2021-10-07 10:42:06 -04:00
Jose Garcia
bdc9ad30e7 Revert other rename changes 2021-10-06 13:46:04 -04:00
Jose Garcia
811d841fae Merge branch 'trunk' of github.com:cli/cli into jg/choose-codespace-prompt 2021-10-06 13:40:01 -04:00
Gabriel Ramírez
3d0d95ce2b
Merge pull request #4439 from geramirez/geramirez/codespaces-pagination
Adding pagination to list codespaces
2021-10-06 12:38:50 -05:00
Jose Garcia
a509c2d884 Remove unused guid 2021-10-06 11:45:43 -04:00
Jose Garcia
3a28643630 Keep codespace struct in API for now
- Use a private codespace structure in the cmd pkg to encapsulate common
  behavior
2021-10-06 11:44:26 -04:00
Gabriel Ramírez
20ae9d305d
Fetch 100 codespaces by default 2021-10-06 14:53:55 +00:00
Gabriel Ramírez
e29a0ac7c4
Merge branch 'geramirez/codespaces-pagination' of https://github.com/geramirez/cli into geramirez/codespaces-pagination 2021-10-06 14:18:57 +00:00
Gabriel Ramírez
34f9c0a67c
Updating docs and interation exit condition to not check the final page 2021-10-06 14:18:44 +00:00
Gabriel Ramírez
237fdd40c8
Update internal/codespaces/api/api.go
Co-authored-by: Jose Garcia <josebalius@github.com>
2021-10-06 09:03:49 -05:00
Jose Garcia
017632d63d Merge branch 'trunk' of github.com:cli/cli into jg/choose-codespace-prompt 2021-10-06 09:57:39 -04:00
Jose Garcia
b2ff4c321a Remove unused structs 2021-10-06 09:25:39 -04:00
Jose Garcia
8135fdbd99 Switch GetCodespace to new API endpoint
- Drop GetCodespaceToken as it is no longer necessary
- Introduces new behavior with the API to optionally include connection
  details in the GET request. Ommitting to do so results in a faster
  response
2021-10-06 08:50:42 -04:00
Gabriel Ramírez
aa49a3a557
Adding a second condition just in case 2021-10-05 21:43:28 +00:00
Gabriel Ramírez
61b0fe36b2
Adding additional tests for mid-flight deletions and additions 2021-10-05 21:31:47 +00:00