diff --git a/updater/client.go b/updater/client.go index 9a86a9d..c51d9ed 100644 --- a/updater/client.go +++ b/updater/client.go @@ -20,4 +20,9 @@ type Client struct { } */ AfterUpdate func() + + // Update Rules + + // X.y.z + Major bool } diff --git a/updater/update.go b/updater/update.go index dbc4049..4173c8d 100644 --- a/updater/update.go +++ b/updater/update.go @@ -1,6 +1,7 @@ package updater import ( + "errors" "os" "github.com/MedzikUser/go-github-selfupdate/selfupdate" @@ -23,10 +24,15 @@ func (c *Client) Update() error { } version, err := semver.Parse(c.Version) + if err != nil || !found || release.Version.LTE(version) { return err } + if !c.Major && release.Version.Major > version.Major { + return errors.New("major update") + } + exe, err := os.Executable() if err != nil { return err