package update import ( "os" "github.com/blang/semver" "github.com/rhysd/go-github-selfupdate/selfupdate" "gitlab.com/gaming0skar123/go/cdn/common" "gitlab.com/gaming0skar123/go/cdn/config" ) var log = common.Log func Update() { repo := config.GH_Repo latest, found, err := selfupdate.DetectLatest(repo) if common.CheckErr(err, "detect latest version") { return } v := semver.MustParse(config.Version) if !found || latest.Version.LTE(v) { return } log.Warn("Updating...") exe, err := os.Executable() if common.CheckErr(err, "locate executable path") { return } err = selfupdate.UpdateTo(latest.AssetURL, exe) if common.CheckErr(err, "update binary") { return } log.Info("Updated!") defer os.Exit(0) }