package logic import ( "strings" "unicode" "github.com/hashicorp/go-version" ) const MinVersion = "v0.17.0" // IsVersionCompatible checks that the version passed is compabtible (>=) with MinVersion func IsVersionComptatible(ver string) bool { // during dev, assume developers know what they are doing if ver == "dev" { return true } trimmed := strings.TrimFunc(ver, func(r rune) bool { return !unicode.IsNumber(r) }) v, err := version.NewVersion(trimmed) if err != nil { return false } constraint, err := version.NewConstraint(">= " + MinVersion) if err != nil { return false } return constraint.Check(v) }