From 8e702d89bb97c7b7d76382d3f59e3a3f2876ee17 Mon Sep 17 00:00:00 2001 From: Kyle Carberry Date: Wed, 14 Dec 2022 10:36:28 -0600 Subject: [PATCH] fix: improve the warning mismatch to display the release assets on windows (#5418) * fix: improve the warning mismatch to display the release assets on windows Fixes #4226. * Update cli/root.go Co-authored-by: Mathias Fredriksson * Update cli/root.go Co-authored-by: Mathias Fredriksson Co-authored-by: Mathias Fredriksson --- cli/root.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/cli/root.go b/cli/root.go index 654009e8ce..e7d88600d8 100644 --- a/cli/root.go +++ b/cli/root.go @@ -8,6 +8,7 @@ import ( "net/http" "net/url" "os" + "runtime" "strings" "text/template" "time" @@ -583,12 +584,17 @@ func checkVersions(cmd *cobra.Command, client *codersdk.Client) error { } fmtWarningText := `version mismatch: client %s, server %s -download the server version with: 'curl -L https://coder.com/install.sh | sh -s -- --version %s' ` + // Our installation script doesn't work on Windows, so instead we direct the user + // to the GitHub release page to download the latest installer. + if runtime.GOOS == "windows" { + fmtWarningText += `download the server version from: https://github.com/coder/coder/releases/v%s` + } else { + fmtWarningText += `download the server version with: 'curl -L https://coder.com/install.sh | sh -s -- --version %s'` + } if !buildinfo.VersionsMatch(clientVersion, info.Version) { warn := cliui.Styles.Warn.Copy().Align(lipgloss.Left) - // Trim the leading 'v', our install.sh script does not handle this case well. _, _ = fmt.Fprintf(cmd.ErrOrStderr(), warn.Render(fmtWarningText), clientVersion, info.Version, strings.TrimPrefix(info.CanonicalVersion(), "v")) _, _ = fmt.Fprintln(cmd.ErrOrStderr()) }