feat: add wake-up command and curl workspace#152
Open
OliverTrautvetter wants to merge 32 commits intomainfrom
Open
feat: add wake-up command and curl workspace#152OliverTrautvetter wants to merge 32 commits intomainfrom
OliverTrautvetter wants to merge 32 commits intomainfrom
Conversation
Signed-off-by: OliverTrautvetter <66372584+OliverTrautvetter@users.noreply.github.com>
Signed-off-by: OliverTrautvetter <66372584+OliverTrautvetter@users.noreply.github.com>
…oud/cs-go into wake_up_workspaces
Signed-off-by: OliverTrautvetter <66372584+OliverTrautvetter@users.noreply.github.com>
Signed-off-by: OliverTrautvetter <66372584+OliverTrautvetter@users.noreply.github.com>
Signed-off-by: OliverTrautvetter <66372584+OliverTrautvetter@users.noreply.github.com>
Signed-off-by: OliverTrautvetter <66372584+OliverTrautvetter@users.noreply.github.com>
Signed-off-by: OliverTrautvetter <66372584+OliverTrautvetter@users.noreply.github.com>
Signed-off-by: OliverTrautvetter <66372584+OliverTrautvetter@users.noreply.github.com>
…ce URL construction
…oud/cs-go into wake_up_workspaces
Signed-off-by: OliverTrautvetter <66372584+OliverTrautvetter@users.noreply.github.com>
Signed-off-by: OliverTrautvetter <66372584+OliverTrautvetter@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
This PR adds CLI support for waking up on-demand workspaces and sending authenticated HTTP requests to a workspace’s dev domain, plus corresponding client APIs, tests, and documentation updates.
Changes:
- Introduces a
cs wake-upcommand with API support (ScaleWorkspace) and both unit and integration tests to start an on-demand workspace by scaling replicas and waiting until it is running. - Adds a
cs curlcommand that constructs an authenticated URL to a workspace’s dev domain and shells out tocurl, including comprehensive unit and integration tests and new documentation. - Updates client interfaces, mocks, and workflows (integration test cleanup and docs) to support the new commands and to slightly improve workspace readiness polling behavior.
Reviewed changes
Copilot reviewed 19 out of 19 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
int/util/workspace.go |
Adds a helper to call the new ScaleWorkspace API from integration utilities. |
int/integration_test.go |
Adds integration suites for wake-up and curl commands, and extends generic error-handling coverage to the new commands. |
docs/cs_wake-up.md |
Documents the new cs wake-up command, including usage, examples, and options. |
docs/cs_list_workspaces.md |
Corrects the list-workspaces example to use the -t flag, aligning docs with the CLI. |
docs/cs_curl.md |
Documents the new cs curl command, including path and curl-arg syntax, examples, and options. |
docs/cs.md |
Adds links for the new curl and wake-up subcommands in the main cs docs index. |
docs/README.md |
Mirrors the cs.md updates for the CLI command index in the docs README. |
cli/cmd/wakeup_test.go |
Introduces unit tests for the WakeUpCmd.WakeUpWorkspace logic, covering normal, already-running, and error cases. |
cli/cmd/wakeup.go |
Implements the cs wake-up command, wiring it into the root command and using the API client to scale and wait for workspace readiness. |
cli/cmd/root.go |
Registers the new wake-up and curl subcommands with the root CLI. |
cli/cmd/mocks.go |
Extends the CLI MockClient with ScaleWorkspace, WaitForWorkspaceRunning, and WorkspaceStatus methods to support new command tests. |
cli/cmd/list_workspaces.go |
Updates the example string to use -t <team-id> for listing workspaces. |
cli/cmd/curl_test.go |
Adds unit tests for CurlCmd.CurlWorkspace, covering URL construction, dev-domain absence, and workspace lookup errors. |
cli/cmd/curl.go |
Implements the cs curl command, building an authenticated URL from the workspace dev domain and delegating the HTTP request to curl. |
cli/cmd/client.go |
Extends the Client interface and NewClient to expose WorkspaceStatus, WaitForWorkspaceRunning, and ScaleWorkspace to CLI commands. |
api/workspace.go |
Adds the ScaleWorkspace API wrapper and adjusts WaitForWorkspaceRunning to retry on transient errors until timeout. |
api/openapi_client/mocks.go |
Regenerates/updates openapi client mocks with simpler type assertions in Run helpers. |
.mockery.yml |
Adjusts mockery configuration for the openapi client package (removing include-auto-generated). |
.github/workflows/integration-test.yml |
Extends orphaned workspace cleanup to include the new cli-wakeup-test-* and cli-curl-test-* workspace name prefixes. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…oud/cs-go into wake_up_workspaces
Signed-off-by: OliverTrautvetter <66372584+OliverTrautvetter@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 19 out of 19 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
siherrmann
reviewed
Jan 30, 2026
Member
siherrmann
left a comment
There was a problem hiding this comment.
A few comments, please revisit.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds the ability to wake up a workspace using the CLI.
Clickup
Adds the ability to send HTTP requests to my workspace's dev domain, so that I can test connectivity.
Clickup