From 9f478dac1db5ad3295f619728f70e6f81dfd4645 Mon Sep 17 00:00:00 2001 From: decentral1se Date: Tue, 25 Jul 2023 15:08:32 +0200 Subject: [PATCH] fix: list downgrades/upgrades in correct order Now that we have correct sorting of versions: https://git.coopcloud.tech/coop-cloud/organising/issues/427 We don't need to reverse sort. Only for showing prompts when the latest should be the first. Otherwise, logic can follow the sorted order, the last item in the list is the latest upgrade. Related: https://git.coopcloud.tech/coop-cloud/organising/issues/444 Also fix `upgrade` to actually show the latest version --- cli/app/rollback.go | 8 +++----- cli/app/upgrade.go | 4 +--- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/cli/app/rollback.go b/cli/app/rollback.go index d3f7c61f..756d4729 100644 --- a/cli/app/rollback.go +++ b/cli/app/rollback.go @@ -124,17 +124,15 @@ recipes. } } - availableDowngrades = internal.ReverseStringList(availableDowngrades) - var chosenDowngrade string - if !internal.Chaos { + if len(availableDowngrades) > 0 && !internal.Chaos { if internal.Force || internal.NoInput { - chosenDowngrade = availableDowngrades[0] + chosenDowngrade = availableDowngrades[len(availableDowngrades)-1] logrus.Debugf("choosing %s as version to downgrade to (--force)", chosenDowngrade) } else { prompt := &survey.Select{ Message: fmt.Sprintf("Please select a downgrade (current version: %s):", deployedVersion), - Options: availableDowngrades, + Options: internal.ReverseStringList(availableDowngrades), } if err := survey.AskOne(prompt, &chosenDowngrade); err != nil { return err diff --git a/cli/app/upgrade.go b/cli/app/upgrade.go index 85fd8e8c..3c39baf7 100644 --- a/cli/app/upgrade.go +++ b/cli/app/upgrade.go @@ -127,8 +127,6 @@ recipes. } } - availableUpgrades = internal.ReverseStringList(availableUpgrades) - var chosenUpgrade string if len(availableUpgrades) > 0 && !internal.Chaos { if internal.Force || internal.NoInput { @@ -137,7 +135,7 @@ recipes. } else { prompt := &survey.Select{ Message: fmt.Sprintf("Please select an upgrade (current version: %s):", deployedVersion), - Options: availableUpgrades, + Options: internal.ReverseStringList(availableUpgrades), } if err := survey.AskOne(prompt, &chosenUpgrade); err != nil { return err