From 7af094d606aff055c1eb938775b6fd260e637158 Mon Sep 17 00:00:00 2001 From: Branch Vincent Date: Sat, 13 Jul 2024 11:53:32 -0700 Subject: [PATCH] build: set git metadata via `debug.BuildInfo` Signed-off-by: Branch Vincent --- internal/version/version.go | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/internal/version/version.go b/internal/version/version.go index d20f25897..cefdf471a 100644 --- a/internal/version/version.go +++ b/internal/version/version.go @@ -19,6 +19,7 @@ package version // import "helm.sh/helm/v3/internal/version" import ( "flag" "runtime" + "runtime/debug" "strings" ) @@ -79,3 +80,22 @@ func Get() BuildInfo { } return v } + +func init() { + if gitCommit != "" || gitTreeState != "" { + return + } + info, ok := debug.ReadBuildInfo() + if !ok { + return + } + for _, setting := range info.Settings { + if setting.Key == "vcs.revision" && setting.Value != "" { + gitCommit = setting.Value + } else if setting.Key == "vcs.modified" && setting.Value == "true" { + gitTreeState = "dirty" + } else if setting.Key == "vcs.modified" && setting.Value == "false" { + gitTreeState = "clean" + } + } +}