From 206b6379c32d85b29768eff3fffea013c590995b Mon Sep 17 00:00:00 2001 From: Jason Lunz Date: Fri, 17 Dec 2021 10:47:22 -0700 Subject: [PATCH] return non-zero if `ssh config` skips any codespaces --- pkg/cmd/codespace/ssh.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkg/cmd/codespace/ssh.go b/pkg/cmd/codespace/ssh.go index 33f837bbc..eb4bae7a2 100644 --- a/pkg/cmd/codespace/ssh.go +++ b/pkg/cmd/codespace/ssh.go @@ -205,10 +205,12 @@ func (a *App) printOpenSSHConfig(ctx context.Context, opts configOptions) error // it once per repository. sshUsers := map[string]string{} + var status error for _, cs := range codespaces { if cs.State != "Available" { fmt.Fprintf(os.Stderr, "skipping unavailable codespace %s: %s\n", cs.Name, cs.State) + status = cmdutil.SilentError continue } @@ -226,6 +228,7 @@ func (a *App) printOpenSSHConfig(ctx context.Context, opts configOptions) error // Move on to the next codespace. We don't want to bail here - just because we're not // able to set up connectivity to one doesn't mean we shouldn't make a best effort to // generate configs for the rest of them. + status = cmdutil.SilentError continue } defer session.Close() @@ -235,6 +238,7 @@ func (a *App) printOpenSSHConfig(ctx context.Context, opts configOptions) error a.StopProgressIndicator() if err != nil { fmt.Fprintf(os.Stderr, "error getting ssh server details: %v", err) + status = cmdutil.SilentError continue // see above } sshUsers[cs.Repository.FullName] = sshUser @@ -251,7 +255,7 @@ func (a *App) printOpenSSHConfig(ctx context.Context, opts configOptions) error } } - return nil + return status } // codespaceSSHConfig contains values needed to write an OpenSSH host