on main help sign in
fix: detect version for `go install ...@main` (#1476)
f08e852Andrey Nering
internal/update/update.go+6−1
@@ -6,6 +6,7 @@ import (
6 "fmt"
6 "fmt"
7 "io"
7 "io"
8 "net/http"
8 "net/http"
9+ "regexp"
9 "strings"
10 "strings"
10 "time"
11 "time"
11)
12)
@@ -25,8 +26,12 @@ type Info struct {
25 URL string
26 URL string
26}
27}
27
28
29+// Matches a version string like:
30+// v0.0.0-0.20251231235959-06c807842604
31+var goInstallRegexp = regexp.MustCompile(`^v?\d+\.\d+\.\d+-\d+\.\d{14}-[0-9a-f]{12}$`)
32+
28func (i Info) IsDevelopment() bool {
33func (i Info) IsDevelopment() bool {
29− return i.Current == "devel" || i.Current == "unknown" || strings.Contains(i.Current, "dirty")
34+ return i.Current == "devel" || i.Current == "unknown" || strings.Contains(i.Current, "dirty") || goInstallRegexp.MatchString(i.Current)
30}
35}
31
36
32// Available returns true if there's an update available.
37// Available returns true if there's an update available.