fix: support downgrade/upgrade for unknown versions
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
This commit is contained in:
parent
e820e0219d
commit
0615c3f745
|
@ -62,10 +62,6 @@ data beforehand - see "abra app backup <app>" for more.
|
||||||
logrus.Fatal(err)
|
logrus.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
if deployedVersion == "" {
|
|
||||||
logrus.Fatalf("failed to determine version of deployed '%s'", app.Name)
|
|
||||||
}
|
|
||||||
|
|
||||||
if !isDeployed {
|
if !isDeployed {
|
||||||
logrus.Fatalf("'%s' is not deployed?", app.Name)
|
logrus.Fatalf("'%s' is not deployed?", app.Name)
|
||||||
}
|
}
|
||||||
|
@ -76,22 +72,30 @@ data beforehand - see "abra app backup <app>" for more.
|
||||||
}
|
}
|
||||||
|
|
||||||
var availableDowngrades []string
|
var availableDowngrades []string
|
||||||
for _, version := range versions {
|
if deployedVersion == "" {
|
||||||
parsedDeployedVersion, err := tagcmp.Parse(deployedVersion)
|
deployedVersion = "unknown"
|
||||||
if err != nil {
|
availableDowngrades = versions
|
||||||
logrus.Fatal(err)
|
logrus.Warnf("failed to determine version of deployed '%s'", app.Name)
|
||||||
}
|
|
||||||
parsedVersion, err := tagcmp.Parse(version)
|
|
||||||
if err != nil {
|
|
||||||
logrus.Fatal(err)
|
|
||||||
}
|
|
||||||
if parsedVersion != parsedDeployedVersion && parsedVersion.IsLessThan(parsedDeployedVersion) {
|
|
||||||
availableDowngrades = append(availableDowngrades, version)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(availableDowngrades) == 0 {
|
if deployedVersion != "unknown" {
|
||||||
logrus.Fatal("no available downgrades, you're on latest")
|
for _, version := range versions {
|
||||||
|
parsedDeployedVersion, err := tagcmp.Parse(deployedVersion)
|
||||||
|
if err != nil {
|
||||||
|
logrus.Fatal(err)
|
||||||
|
}
|
||||||
|
parsedVersion, err := tagcmp.Parse(version)
|
||||||
|
if err != nil {
|
||||||
|
logrus.Fatal(err)
|
||||||
|
}
|
||||||
|
if parsedVersion != parsedDeployedVersion && parsedVersion.IsLessThan(parsedDeployedVersion) {
|
||||||
|
availableDowngrades = append(availableDowngrades, version)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(availableDowngrades) == 0 {
|
||||||
|
logrus.Fatal("no available downgrades, you're on latest")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// FIXME: jeezus golang why do you not have a list reverse function
|
// FIXME: jeezus golang why do you not have a list reverse function
|
||||||
|
|
|
@ -54,10 +54,6 @@ data beforehand - see "abra app backup <app>" for more.
|
||||||
logrus.Fatal(err)
|
logrus.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
if deployedVersion == "" {
|
|
||||||
logrus.Fatalf("failed to determine version of deployed '%s'", app.Name)
|
|
||||||
}
|
|
||||||
|
|
||||||
if !isDeployed {
|
if !isDeployed {
|
||||||
logrus.Fatalf("'%s' is not deployed?", app.Name)
|
logrus.Fatalf("'%s' is not deployed?", app.Name)
|
||||||
}
|
}
|
||||||
|
@ -67,23 +63,35 @@ data beforehand - see "abra app backup <app>" for more.
|
||||||
logrus.Fatal(err)
|
logrus.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
var availableUpgrades []string
|
if len(versions) == 0 {
|
||||||
for _, version := range versions {
|
logrus.Fatalf("no versions available '%s' in recipe catalogue?", app.Type)
|
||||||
parsedDeployedVersion, err := tagcmp.Parse(deployedVersion)
|
|
||||||
if err != nil {
|
|
||||||
logrus.Fatal(err)
|
|
||||||
}
|
|
||||||
parsedVersion, err := tagcmp.Parse(version)
|
|
||||||
if err != nil {
|
|
||||||
logrus.Fatal(err)
|
|
||||||
}
|
|
||||||
if parsedVersion.IsGreaterThan(parsedDeployedVersion) {
|
|
||||||
availableUpgrades = append(availableUpgrades, version)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(availableUpgrades) == 0 {
|
var availableUpgrades []string
|
||||||
logrus.Fatal("no available upgrades, you're on latest")
|
if deployedVersion == "" {
|
||||||
|
deployedVersion = "unknown"
|
||||||
|
availableUpgrades = versions
|
||||||
|
logrus.Warnf("failed to determine version of deployed '%s'", app.Name)
|
||||||
|
}
|
||||||
|
|
||||||
|
if deployedVersion != "unknown" {
|
||||||
|
for _, version := range versions {
|
||||||
|
parsedDeployedVersion, err := tagcmp.Parse(deployedVersion)
|
||||||
|
if err != nil {
|
||||||
|
logrus.Fatal(err)
|
||||||
|
}
|
||||||
|
parsedVersion, err := tagcmp.Parse(version)
|
||||||
|
if err != nil {
|
||||||
|
logrus.Fatal(err)
|
||||||
|
}
|
||||||
|
if parsedVersion.IsGreaterThan(parsedDeployedVersion) {
|
||||||
|
availableUpgrades = append(availableUpgrades, version)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(availableUpgrades) == 0 {
|
||||||
|
logrus.Fatal("no available upgrades, you're on latest")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var chosenUpgrade string
|
var chosenUpgrade string
|
||||||
|
|
Loading…
Reference in New Issue