From a10714125e102a88dbaab30425283f48223ebfe0 Mon Sep 17 00:00:00 2001 From: "omri.s" Date: Tue, 23 May 2023 18:44:11 +0300 Subject: [PATCH] fixup --- src/shared/version/version | 1 + src/shared/version/version.go | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 src/shared/version/version create mode 100644 src/shared/version/version.go diff --git a/src/shared/version/version b/src/shared/version/version new file mode 100644 index 000000000..317fce953 --- /dev/null +++ b/src/shared/version/version @@ -0,0 +1 @@ +0-local \ No newline at end of file diff --git a/src/shared/version/version.go b/src/shared/version/version.go new file mode 100644 index 000000000..31914b3bb --- /dev/null +++ b/src/shared/version/version.go @@ -0,0 +1,33 @@ +package version + +import ( + "os" + "sync" +) + +var ( + version string + once sync.Once +) + +// Version returns the current version. +// It is implemented by reading a file instead of go:embed to avoid cache busting the Dockerfile before the build. +func Version() string { + once.Do(func() { + data, err := os.ReadFile("./shared/version/version") + if err == nil { + // only in development mode + version = string(data) + return + } + + // only in production + data, err = os.ReadFile("./version") + if err != nil { + panic(err) + } + version = string(data) + }) + + return version +}