forked from toolshed/abra
		
	fix: better parsing errors
See toolshed/organising#608 See toolshed/organising#531
This commit is contained in:
		@ -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) &&
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										2
									
								
								go.mod
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								go.mod
									
									
									
									
									
								
							@ -5,7 +5,7 @@ go 1.23.5
 | 
			
		||||
toolchain go1.24.1
 | 
			
		||||
 | 
			
		||||
require (
 | 
			
		||||
	coopcloud.tech/tagcmp v0.0.0-20250427094623-9ea3bbbde8e5
 | 
			
		||||
	coopcloud.tech/tagcmp v0.0.0-20250818180036-0ec1b205b5ca
 | 
			
		||||
	git.coopcloud.tech/toolshed/godotenv v1.5.2-0.20250103171850-4d0ca41daa5c
 | 
			
		||||
	github.com/AlecAivazis/survey/v2 v2.3.7
 | 
			
		||||
	github.com/charmbracelet/bubbletea v1.3.6
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										2
									
								
								go.sum
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								go.sum
									
									
									
									
									
								
							@ -26,6 +26,8 @@ coopcloud.tech/tagcmp v0.0.0-20230809071031-eb3e7758d4eb h1:Ws6WEwKXeaYEkfdkX6Aq
 | 
			
		||||
coopcloud.tech/tagcmp v0.0.0-20230809071031-eb3e7758d4eb/go.mod h1:ESVm0wQKcbcFi06jItF3rI7enf4Jt2PvbkWpDDHk1DQ=
 | 
			
		||||
coopcloud.tech/tagcmp v0.0.0-20250427094623-9ea3bbbde8e5 h1:tphJCjFJw9fdjyKnbU0f7f3z5KtYE8VbUcAfu+oHKg8=
 | 
			
		||||
coopcloud.tech/tagcmp v0.0.0-20250427094623-9ea3bbbde8e5/go.mod h1:ESVm0wQKcbcFi06jItF3rI7enf4Jt2PvbkWpDDHk1DQ=
 | 
			
		||||
coopcloud.tech/tagcmp v0.0.0-20250818180036-0ec1b205b5ca h1:gSD53tBAsbIGq4SnFfq+mEep6foekQ2a5ea7b38qkm0=
 | 
			
		||||
coopcloud.tech/tagcmp v0.0.0-20250818180036-0ec1b205b5ca/go.mod h1:ESVm0wQKcbcFi06jItF3rI7enf4Jt2PvbkWpDDHk1DQ=
 | 
			
		||||
dario.cat/mergo v1.0.1 h1:Ra4+bf83h2ztPIQYNP99R6m+Y7KfnARDfID+a+vLl4s=
 | 
			
		||||
dario.cat/mergo v1.0.1/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk=
 | 
			
		||||
dario.cat/mergo v1.0.2 h1:85+piFYR1tMbRrLcDwR18y4UKJ3aH1Tbzi24VRW1TK8=
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user