fix: prepare Tend preview 2

Publish the reviewed version identity fix and mark preview 1 withdrawn.\n\nPrivate-Source-Commit: 9907afdfa18099ac488fe4011291ea454036435a\nPrivate-Source-Tree: 3a5e666dd6a0c69a07f7804612c8e3dc3474966a\nHimesan-Output-Permission: v1.0\nAI-Assistance: OpenAI Codex assisted implementation and review.

Signed-off-by: Cole Speelman <crspeelman@gmail.com>
This commit is contained in:
2026-08-14 14:19:01 -04:00
parent b68fa2487d
commit b2cc4482f6
6 changed files with 123 additions and 3 deletions
+74 -1
View File
@@ -2,8 +2,81 @@
package version
import (
"regexp"
"runtime/debug"
"strings"
)
const developmentVersion = "v0.1.0-dev"
var (
Version = "v0.1.0-dev"
Version = developmentVersion
Commit = "unknown"
Date = "unknown"
)
var (
taggedVersionPattern = regexp.MustCompile(`^v(?:0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)(?:-([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?$`)
pseudoVersionSuffixPattern = regexp.MustCompile(`(?:^|[.-])(?:0\.)?[0-9]{14}-[0-9a-f]{12,}$`)
)
func init() {
information, ok := debug.ReadBuildInfo()
if !ok {
return
}
Version = selectVersion(Version, information.Main.Version)
for _, setting := range information.Settings {
switch setting.Key {
case "vcs.revision":
if Commit == "unknown" && setting.Value != "" {
Commit = setting.Value
}
case "vcs.time":
if Date == "unknown" && setting.Value != "" {
Date = setting.Value
}
}
}
}
func selectVersion(linkerValue, moduleVersion string) string {
if linkerValue != developmentVersion {
return linkerValue
}
moduleVersion = strings.TrimSpace(moduleVersion)
if !isTaggedVersion(moduleVersion) {
return linkerValue
}
return moduleVersion
}
func isTaggedVersion(value string) bool {
matches := taggedVersionPattern.FindStringSubmatch(value)
if matches == nil {
return false
}
prerelease := matches[1]
if pseudoVersionSuffixPattern.MatchString(prerelease) {
return false
}
for _, identifier := range strings.Split(prerelease, ".") {
if len(identifier) > 1 && identifier[0] == '0' && allDecimal(identifier) {
return false
}
}
return true
}
func allDecimal(value string) bool {
if value == "" {
return false
}
for _, character := range value {
if character < '0' || character > '9' {
return false
}
}
return true
}