diff --git a/.goreleaser.yaml b/.goreleaser.yaml index 972415a..bc800e9 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -7,6 +7,8 @@ before: builds: - main: ./cmd/linkwallet/ + ldflags: + - -s -w -X github.com/tardisx/linkwallet/version.version={{.Version}} -X github.com/tardisx/linkwallet/version.commit={{.Commit}} -X github.com/tardisx/linkwallet/version.date={{.Date}} env: - CGO_ENABLED=0 goos: diff --git a/cmd/linkwallet/linkwallet.go b/cmd/linkwallet/linkwallet.go index d2028b0..7384a89 100644 --- a/cmd/linkwallet/linkwallet.go +++ b/cmd/linkwallet/linkwallet.go @@ -6,7 +6,7 @@ import ( "time" "github.com/tardisx/linkwallet/db" - "github.com/tardisx/linkwallet/version" + v "github.com/tardisx/linkwallet/version" "github.com/tardisx/linkwallet/web" ) @@ -31,7 +31,7 @@ func main() { go func() { for { - version.VersionInfo.UpdateVersionInfo() + v.VersionInfo.UpdateVersionInfo() time.Sleep(time.Hour * 6) } }() @@ -47,7 +47,7 @@ func main() { } }() - log.Printf("linkwallet version %s starting", version.VersionInfo.Local.Tag) + log.Printf("linkwallet version %s starting", v.VersionInfo.Local.Version) server := web.Create(bmm, cmm) go bmm.RunQueue() diff --git a/version/version.go b/version/version.go index 5a069ab..d35f5e5 100644 --- a/version/version.go +++ b/version/version.go @@ -10,11 +10,20 @@ import ( "golang.org/x/mod/semver" ) -const Tag = "v0.1.0-alpha.0" +var version string +var commit string +var date string + +var VersionInfo Info + +func init() { + VersionInfo.Remote.Valid = false + VersionInfo.Local.Version = version +} type Info struct { Local struct { - Tag string + Version string } Remote struct { Valid bool @@ -24,20 +33,13 @@ type Info struct { m sync.Mutex } -var VersionInfo Info - -func init() { - VersionInfo.Remote.Valid = false - VersionInfo.Local.Tag = Tag -} - func (vi *Info) UpgradeAvailable() bool { vi.m.Lock() defer vi.m.Unlock() if !vi.Remote.Valid { return false } - if semver.Compare(vi.Local.Tag, vi.Remote.Tag) < 0 { + if semver.Compare(vi.Local.Version, vi.Remote.Tag) < 0 { return true } return false @@ -59,7 +61,7 @@ func (vi *Info) UpdateVersionInfo() { vi.Remote.Valid = true vi.UpgradeReleaseNotes = "" for _, r := range rels { - if semver.Compare(VersionInfo.Local.Tag, *r.TagName) < 0 { + if semver.Compare(VersionInfo.Local.Version, *r.TagName) < 0 { vi.UpgradeReleaseNotes += fmt.Sprintf("*Version %s*\n\n", *r.TagName) bodyLines := strings.Split(*r.Body, "\n") for _, l := range bodyLines {