From cc0bb26de42be6f6ea14892003fa42575ceb4c2e Mon Sep 17 00:00:00 2001 From: Thomas Labarussias Date: Thu, 14 Sep 2023 12:01:36 +0200 Subject: [PATCH] add release folder Signed-off-by: Thomas Labarussias --- release/ldflags.sh | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 release/ldflags.sh diff --git a/release/ldflags.sh b/release/ldflags.sh new file mode 100644 index 0000000..48676a3 --- /dev/null +++ b/release/ldflags.sh @@ -0,0 +1,32 @@ +#!/usr/bin/env bash + +set -o errexit +set -o nounset +set -o pipefail + +# Output LDFlAGS for a given environment. LDFLAGS are applied to all go binary +# builds. +# +# Args: env +function ldflags() { + local GIT_VERSION=$(git describe --tags --always --dirty) + local GIT_COMMIT=$(git rev-parse HEAD) + + local GIT_TREESTATE="clean" + if [[ $(git diff --stat) != '' ]]; then + GIT_TREESTATE="dirty" + fi + + local DATE_FMT="+%Y-%m-%dT%H:%M:%SZ" + local BUILD_DATE=$(date "$DATE_FMT") + local SOURCE_DATE_EPOCH=$(git log -1 --pretty=%ct) + if [ $SOURCE_DATE_EPOCH ] + then + local BUILD_DATE=$(date -u -d "@$SOURCE_DATE_EPOCH" "$DATE_FMT" 2>/dev/null || date -u -r "$SOURCE_DATE_EPOCH" "$DATE_FMT" 2>/dev/null || date -u "$DATE_FMT") + fi + + echo "-buildid= -X main.GitVersion=${GIT_VERSION} \ + -X main.gitCommit=${GIT_COMMIT} \ + -X main.gitTreeState=${GIT_TREESTATE} \ + -X main.buildDate=${BUILD_DATE}" +} \ No newline at end of file