Skip to content

Commit 5ffe5c0

Browse files
authored
feat: add version info to binary (#80)
1 parent 31450a1 commit 5ffe5c0

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

Taskfile_library.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,12 @@ vars:
3434

3535
VERSION:
3636
sh: 'PROJECT_ROOT="{{.ROOT_DIR2}}" {{.TASKFILE_DIR2}}/get-version.sh'
37+
GIT_TREE_STATE:
38+
sh: 'git diff --quiet && echo "clean" || echo "dirty"'
39+
GIT_COMMIT:
40+
sh: 'git rev-parse --verify HEAD || echo "unknown"'
41+
BUILD_DATE:
42+
sh: 'date -u +%Y-%m-%dT%H:%M:%SZ || echo "unknown"'
3743
OS:
3844
sh: echo ${OS:-$(go env GOOS)}
3945
IMAGE_OS:
@@ -45,6 +51,7 @@ vars:
4551
NESTED_MODULES: '{{.NESTED_MODULES | default "" }}'
4652
DOCKERFILE: '{{.DOCKERFILE | default (print .TASKFILE_DIR2 "/Dockerfile") }}'
4753

54+
4855
LOCALBIN: '{{ env "LOCALBIN" | default ( .LOCALBIN | default (print .ROOT_DIR2 "/bin") ) }}'
4956
LOCALTMP: '{{ env "LOCALTMP" | default ( .LOCALTMP | default (print .ROOT_DIR2 "/tmp") ) }}'
5057
CONTROLLER_GEN: '{{ .CONTROLLER_GEN | default (print .LOCALBIN "/controller-gen") }}'

tasks_build_bin.yaml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,11 +49,16 @@ tasks:
4949
- COMPONENTS
5050
- OS
5151
- ARCH
52+
- VERSION
53+
- GIT_TREE_STATE
54+
- GIT_COMMIT
55+
- BUILD_DATE
56+
- MODULE_NAME
5257
cmds:
5358
- for:
5459
var: COMPONENTS
5560
as: COMPONENT
56-
cmd: 'CGO_ENABLED=0 GOOS={{.OS}} GOARCH={{.ARCH}} go build -a -o {{.ROOT_DIR2}}/bin/{{.COMPONENT}}.{{.OS}}-{{.ARCH}} {{.ROOT_DIR2}}/cmd/{{.COMPONENT}}/main.go'
61+
cmd: 'CGO_ENABLED=0 GOOS={{.OS}} GOARCH={{.ARCH}} go build -a -ldflags="-X {{.MODULE_NAME}}/internal/version.buildVersion={{.VERSION}} -X {{.MODULE_NAME}}/internal/version.gitTreeState={{.GIT_TREE_STATE}} -X {{.MODULE_NAME}}/internal/version.gitCommit={{.GIT_COMMIT}} -X {{.MODULE_NAME}}/internal/version.buildDate={{.BUILD_DATE}}" -o {{.ROOT_DIR2}}/bin/{{.COMPONENT}}.{{.OS}}-{{.ARCH}} {{.ROOT_DIR2}}/cmd/{{.COMPONENT}}/main.go'
5762

5863
build-multi-raw:
5964
desc: " Build multi-platform binaries. Skips code generation/validation tasks."

0 commit comments

Comments
 (0)