From d29e516b8690e9044e8eb1b259efe39f3e17e8eb Mon Sep 17 00:00:00 2001 From: gammazero Date: Tue, 18 Jun 2024 13:58:02 -0700 Subject: [PATCH 1/2] The --version flag includes release version The tagged release version should match the contents of version.json, so embed the version.json file and add the release version from it to the output from --version. Fixes #145 --- version.go | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/version.go b/version.go index ccda56b..a9de07e 100644 --- a/version.go +++ b/version.go @@ -1,22 +1,33 @@ package main import ( + _ "embed" + "encoding/json" + "fmt" "runtime/debug" "time" ) +//go:embed version.json +var versionJSON []byte + var name = "rainbow" var version = buildVersion() var userAgent = name + "/" + version func buildVersion() string { + // Read version from embedded JSON file. + var verMap map[string]string + json.Unmarshal(versionJSON, &verMap) + release := verMap["version"] + var revision string var day string var dirty bool info, ok := debug.ReadBuildInfo() if !ok { - return "dev-build" + return release + " dev-build" } for _, kv := range info.Settings { switch kv.Key { @@ -33,7 +44,7 @@ func buildVersion() string { revision += "-dirty" } if revision != "" { - return day + "-" + revision + return fmt.Sprintf("%s %s-%s", release, day, revision) } - return "dev-build" + return release + " dev-build" } From c27bd96f77cc5e80705852c50cd996e170bab8a8 Mon Sep 17 00:00:00 2001 From: gammazero Date: Tue, 18 Jun 2024 14:05:45 -0700 Subject: [PATCH 2/2] update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7944f01..0c3c7b6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ The following emojis are used to highlight certain changes: ### Fixed - Added more buckets to the duration histogram metric to allow for tracking operations that take longer than 1 minute. +- Release version included in --version output. ### Security