fix: better parsing errors

See toolshed/organising#608
See toolshed/organising#531
This commit is contained in:
2025-08-18 20:03:39 +02:00
parent 6fad1a1dcc
commit 77ff146991
3 changed files with 10 additions and 7 deletions

View File

@ -117,7 +117,7 @@ beforehand. See "abra app backup" for more.`,
}
if deployMeta.Version != config.UNKNOWN_DEFAULT && chosenUpgrade == "" {
upgradeAvailable, err := ensureUpgradesAvailable(versions, &availableUpgrades, deployMeta)
upgradeAvailable, err := ensureUpgradesAvailable(app, versions, &availableUpgrades, deployMeta)
if err != nil {
log.Fatal(err)
}
@ -314,18 +314,18 @@ func getReleaseNotes(
) error {
parsedChosenUpgrade, err := tagcmp.Parse(chosenUpgrade)
if err != nil {
return err
return fmt.Errorf("parsing chosen upgrade version failed: %s", err)
}
parsedDeployedVersion, err := tagcmp.Parse(deployMeta.Version)
if err != nil {
return err
return fmt.Errorf("parsing deployment version failed: %s", err)
}
for _, version := range internal.SortVersionsDesc(versions) {
parsedVersion, err := tagcmp.Parse(version)
if err != nil {
return err
return fmt.Errorf("parsing recipe version failed: %s", err)
}
if parsedVersion.IsGreaterThan(parsedDeployedVersion) &&
@ -351,19 +351,20 @@ func getReleaseNotes(
// ensureUpgradesAvailable ensures that there are available upgrades.
func ensureUpgradesAvailable(
app app.App,
versions []string,
availableUpgrades *[]string,
deployMeta stack.DeployMeta,
) (bool, error) {
parsedDeployedVersion, err := tagcmp.Parse(deployMeta.Version)
if err != nil {
return false, err
return false, fmt.Errorf("parsing deployed version failed: %s", err)
}
for _, version := range versions {
parsedVersion, err := tagcmp.Parse(version)
if err != nil {
return false, err
return false, fmt.Errorf("parsing recipe version failed: %s", err)
}
if parsedVersion.IsGreaterThan(parsedDeployedVersion) &&