Add runtime version reporting

This commit is contained in:
2026-10-05 16:49:54 +00:00
parent 9e855c81a6
commit d692607e2b
11 changed files with 292 additions and 9 deletions

View File

@@ -0,0 +1,26 @@
// Package runtimeinfo implements the private runtime version state used by the
// public buildinfo facade.
package runtimeinfo
import "runtime/debug"
var injectedVersion string
// Version returns the injected version or the running executable's main module
// version, falling back to "dev" when neither provides a release identifier.
func Version() string {
return version(injectedVersion, debug.ReadBuildInfo)
}
func version(injected string, readBuildInfo func() (*debug.BuildInfo, bool)) string {
if injected != "" {
return injected
}
info, ok := readBuildInfo()
if ok && info != nil && info.Main.Version != "" && info.Main.Version != "(devel)" {
return info.Main.Version
}
return "dev"
}