File tree 4 files changed +38
-4
lines changed
4 files changed +38
-4
lines changed Original file line number Diff line number Diff line change 12
12
- uses : actions/checkout@v4
13
13
- name : Build all targets.
14
14
run : |
15
- make build-all
15
+ make build-all RELEASE_BUILD=true
16
16
- name : Run unit tests across all targets.
17
17
run : |
18
18
make test-all
Original file line number Diff line number Diff line change 12
12
- uses : actions/checkout@v4
13
13
- name : Build all targets.
14
14
run : |
15
- make build-all
15
+ make build-all RELEASE_BUILD=true
16
16
- name : Run unit tests across all targets.
17
17
run : |
18
18
make test-all
Original file line number Diff line number Diff line change @@ -6,9 +6,18 @@ API_BINARY := $(BINARY_DIR)/api
6
6
7
7
# -------------------------- Native build targets ------------------------------
8
8
9
+ RELEASE_BUILD := false
10
+ LATEST_TAG := $(shell git describe --tags --abbrev=0)
11
+ LATEST_COMMIT := $(shell git rev-parse --short HEAD)
12
+ BUILD_DATE := $(shell date -u '+% Y-% m-% dT% H:% M:% SZ')
13
+ MODULE_ROOT := $(shell go list -m)
9
14
build-ie :
10
15
@echo " Building the Innovation Engine CLI..."
11
- @CGO_ENABLED=0 go build -o " $( IE_BINARY) " cmd/ie/ie.go
16
+ ifeq ($(RELEASE_BUILD ) , true)
17
+ @CGO_ENABLED=0 go build -ldflags "-X $(MODULE_ROOT)/cmd/ie/commands.VERSION=$(LATEST_TAG) -X $(MODULE_ROOT)/cmd/ie/commands.COMMIT=$(LATEST_COMMIT) -X $(MODULE_ROOT)/cmd/ie/commands.DATE=$(BUILD_DATE)" -o "$(IE_BINARY)" cmd/ie/ie.go
18
+ else
19
+ @CGO_ENABLED=0 go build -ldflags "-X $(MODULE_ROOT)/cmd/ie/commands.VERSION=dev -X $(MODULE_ROOT)/cmd/ie/commands.COMMIT=$(LATEST_COMMIT) -X $(MODULE_ROOT)/cmd/ie/commands.DATE=$(BUILD_DATE)" -o "$(IE_BINARY)" cmd/ie/ie.go
20
+ endif
12
21
13
22
14
23
build-all : build-ie
@@ -17,7 +26,7 @@ build-all: build-ie
17
26
18
27
install-ie :
19
28
@echo " Installing the Innovation Engine CLI..."
20
- @CGO_ENABLED=0 go install cmd/ie/ie.go
29
+ @CGO_ENABLED=0 go install -ldflags " -X $( MODULE_ROOT ) /cmd/ie/commands.VERSION=dev -X $( MODULE_ROOT ) /cmd/ie/commands.COMMIT= $( LATEST_COMMIT ) -X $( MODULE_ROOT ) /cmd/ie/commands.DATE= $( BUILD_DATE ) " cmd/ie/ie.go
21
30
22
31
# ------------------------------ Test targets ----------------------------------
23
32
Original file line number Diff line number Diff line change
1
+ package commands
2
+
3
+ import "github.com/spf13/cobra"
4
+
5
+ var (
6
+ VERSION = "dev"
7
+ COMMIT = "N/A"
8
+ DATE = "N/A"
9
+ )
10
+
11
+ var versionCommand = & cobra.Command {
12
+ Use : "version" ,
13
+ Short : "Print the version of the Innovation Engine" ,
14
+ RunE : func (cmd * cobra.Command , args []string ) error {
15
+ cmd .Printf ("Version: %s\n " , VERSION )
16
+ cmd .Printf ("Commit: %s\n " , COMMIT )
17
+ cmd .Printf ("Date: %s\n " , DATE )
18
+
19
+ return nil
20
+ },
21
+ }
22
+
23
+ func init () {
24
+ rootCommand .AddCommand (versionCommand )
25
+ }
You can’t perform that action at this time.
0 commit comments