mirror of
https://github.com/coder/coder.git
synced 2025-07-12 00:14:10 +00:00
chore: show server install.sh on cli version mismatch (#16668)
This PR has the CLI show the server's own `install.sh` script if there's a version mismatch, and if the deployment doesn't have an custom upgrade message configured. ``` $ coder ls version mismatch: client {version}, server {version} download {server_version} with: 'curl -fsSL https://dev.coder.com/install.sh | sh' [ ... ] ```
This commit is contained in:
11
cli/root.go
11
cli/root.go
@ -1213,9 +1213,14 @@ func wrapTransportWithVersionMismatchCheck(rt http.RoundTripper, inv *serpent.In
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
upgradeMessage := defaultUpgradeMessage(semver.Canonical(serverVersion))
|
upgradeMessage := defaultUpgradeMessage(semver.Canonical(serverVersion))
|
||||||
serverInfo, err := getBuildInfo(inv.Context())
|
if serverInfo, err := getBuildInfo(inv.Context()); err == nil {
|
||||||
if err == nil && serverInfo.UpgradeMessage != "" {
|
switch {
|
||||||
upgradeMessage = serverInfo.UpgradeMessage
|
case serverInfo.UpgradeMessage != "":
|
||||||
|
upgradeMessage = serverInfo.UpgradeMessage
|
||||||
|
// The site-local `install.sh` was introduced in v2.19.0
|
||||||
|
case serverInfo.DashboardURL != "" && semver.Compare(semver.MajorMinor(serverVersion), "v2.19") >= 0:
|
||||||
|
upgradeMessage = fmt.Sprintf("download %s with: 'curl -fsSL %s/install.sh | sh'", serverVersion, serverInfo.DashboardURL)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
fmtWarningText := "version mismatch: client %s, server %s\n%s"
|
fmtWarningText := "version mismatch: client %s, server %s\n%s"
|
||||||
fmtWarn := pretty.Sprint(cliui.DefaultStyles.Warn, fmtWarningText)
|
fmtWarn := pretty.Sprint(cliui.DefaultStyles.Warn, fmtWarningText)
|
||||||
|
Reference in New Issue
Block a user