chore: refresh gramsrv public release

This commit is contained in:
A 2026-06-30 14:37:43 +08:00
parent 75cebe8dbf
commit 70b6820474
1274 changed files with 378751 additions and 59919 deletions

54
cmd/telesrv/buildinfo.go Normal file
View file

@ -0,0 +1,54 @@
package main
import "runtime/debug"
var (
gitCommit = ""
gitBranch = ""
gitTreeState = ""
buildTime = ""
)
type buildMetadata struct {
Commit string
Branch string
TreeState string
BuildTime string
GoVersion string
}
func currentBuildMetadata() buildMetadata {
meta := buildMetadata{
Commit: valueOrUnknown(gitCommit),
Branch: valueOrUnknown(gitBranch),
TreeState: valueOrUnknown(gitTreeState),
BuildTime: valueOrUnknown(buildTime),
}
if info, ok := debug.ReadBuildInfo(); ok {
meta.GoVersion = info.GoVersion
settings := map[string]string{}
for _, setting := range info.Settings {
settings[setting.Key] = setting.Value
}
if meta.Commit == "unknown" {
meta.Commit = valueOrUnknown(settings["vcs.revision"])
}
if meta.TreeState == "unknown" {
switch settings["vcs.modified"] {
case "true":
meta.TreeState = "dirty"
case "false":
meta.TreeState = "clean"
}
}
}
meta.GoVersion = valueOrUnknown(meta.GoVersion)
return meta
}
func valueOrUnknown(v string) string {
if v == "" {
return "unknown"
}
return v
}