func equinoxUpdate(channel string, skipConfirm bool) error { var opts equinox.Options if err := opts.SetPublicKeyPEM(publicKey); err != nil { return err } opts.Channel = channel // check for the update resp, err := equinox.Check(appID, opts) switch { case err == equinox.NotAvailableErr: fmt.Println("No update available, already at the latest version!") return nil case err != nil: fmt.Println("Update failed:", err) return err } fmt.Println("New version available!") fmt.Println("Version:", resp.ReleaseVersion) fmt.Println("Name:", resp.ReleaseTitle) fmt.Println("Details:", resp.ReleaseDescription) if !skipConfirm { fmt.Printf("Would you like to update [y/n]? ") if !askForConfirmation() { return nil } } //fmt.Printf("New version available: %s downloading ... \n", resp.ReleaseVersion) // fetch the update and apply it err = resp.Apply() if err != nil { return err } fmt.Printf("Updated to new version: %s!\n", resp.ReleaseVersion) return nil }