Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion pkg/workspace/list.go
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ func List(
}
}

cleanedLocalWorkspaces = append(cleanedLocalWorkspaces, localWorkspaces...)
cleanedLocalWorkspaces = append(cleanedLocalWorkspaces, localWorkspace)
}
localWorkspaces = cleanedLocalWorkspaces
}
Expand Down
30 changes: 13 additions & 17 deletions pkg/workspace/workspace.go
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,10 @@ func Get(ctx context.Context, opts GetOptions) (client.BaseWorkspaceClient, erro
return getWorkspaceClient(opts.DevsyConfig, provider, workspace, machine)
}

workspace := findWorkspaceByArgs(ctx, opts)
workspace, err := findWorkspaceByArgs(ctx, opts)
if err != nil {
return nil, err
}
if workspace == nil {
return nil, fmt.Errorf("workspace not found for args: %v", opts.Args)
}
Expand All @@ -202,9 +205,9 @@ func Get(ctx context.Context, opts GetOptions) (client.BaseWorkspaceClient, erro
func findWorkspaceByArgs(
ctx context.Context,
opts GetOptions,
) *providerpkg.Workspace {
) (*providerpkg.Workspace, error) {
if opts.LocalOnly {
return findLocalWorkspace(opts.DevsyConfig, opts.Args, "")
return findLocalWorkspace(opts.DevsyConfig, opts.Args, ""), nil
}
return findWorkspace(ctx, opts.DevsyConfig, opts.Args, "", opts.Owner)
}
Expand All @@ -217,7 +220,7 @@ func Exists(
workspaceID string,
owner platform.OwnerFilter,
) string {
workspace := findWorkspace(ctx, devsyConfig, args, workspaceID, owner)
workspace, _ := findWorkspace(ctx, devsyConfig, args, workspaceID, owner)
if workspace == nil {
return ""
}
Expand All @@ -233,7 +236,7 @@ func resolveWorkspace(
// check if we have no args
if len(params.Args) == 0 {
if params.DesiredID != "" {
workspace := findWorkspace(ctx, devsyConfig, nil, params.DesiredID, params.Owner)
workspace, _ := findWorkspace(ctx, devsyConfig, nil, params.DesiredID, params.Owner)
if workspace == nil {
return nil, nil, nil, fmt.Errorf("workspace %s doesn't exist", params.DesiredID)
}
Expand Down Expand Up @@ -642,16 +645,15 @@ func findWorkspace(
args []string,
workspaceID string,
owner platform.OwnerFilter,
) *providerpkg.Workspace {
) (*providerpkg.Workspace, error) {
workspaceID = ensureWorkspaceID(args, workspaceID)
if workspaceID == "" {
return nil
return nil, nil
}

allWorkspaces, err := List(ctx, devsyConfig, false, owner)
if err != nil {
log.Debugf("failed to list workspaces: %v", err)
return nil
return nil, fmt.Errorf("failed to list workspaces: %w", err)
}

var retWorkspace *providerpkg.Workspace
Expand All @@ -665,21 +667,15 @@ func findWorkspace(
workspace.Imported = true
err = providerpkg.SaveWorkspaceConfig(workspace)
if err != nil {
log.Debugf(
"failed to save workspace config for workspace \"%s\" with provider \"%s\": %v",
workspace.ID,
workspace.Provider.Name,
err,
)
return nil
return nil, fmt.Errorf("failed to save workspace config: %w", err)
}
}

retWorkspace = workspace
break
}

return retWorkspace
return retWorkspace, nil
}

type selectWorkspaceParams struct {
Expand Down
Loading