@@ -24,6 +24,9 @@ LDFLAGS := "-s -w \
24
24
-X $(PKG_NAME ) /internal.Version=$(TAG ) \
25
25
-X $(PKG_NAME ) /internal.Experimental=$(EXPERIMENTAL ) "
26
26
27
+ GO_BUILD := CGO_ENABLED=0 go build
28
+ GO_TEST := go test
29
+
27
30
# ####################
28
31
# Local Development #
29
32
# ####################
@@ -35,18 +38,18 @@ endif
35
38
36
39
all : bin test
37
40
38
- CHECK_GO_ENV :
41
+ check_go_env :
39
42
@test $$(go list ) = " $( PKG_NAME) " || \
40
43
(echo " Invalid Go environment" && false)
41
44
42
- bin : CHECK_GO_ENV
45
+ bin : check_go_env
43
46
@echo " Building _build/$( BIN_NAME) $( EXEC_EXT) ..."
44
- go build -ldflags=$(LDFLAGS ) -i -o _build/$(BIN_NAME )$(EXEC_EXT )
47
+ $( GO_BUILD ) -ldflags=$(LDFLAGS ) -i -o _build/$(BIN_NAME )$(EXEC_EXT )
45
48
46
49
OS_LIST ?= darwin linux windows
47
- bin-all : CHECK_GO_ENV
50
+ bin-all : check_go_env
48
51
@echo " Building for all platforms..."
49
- $(foreach OS, $(OS_LIST ) , GOOS=$(OS ) go build -ldflags=$(LDFLAGS ) -i -o _build/$(TAG ) /$(BIN_NAME ) -$(OS )$(if $(filter windows, $(OS ) ) ,.exe,) || exit 1;)
52
+ $(foreach OS, $(OS_LIST ) , GOOS=$(OS ) $( GO_BUILD ) -ldflags=$(LDFLAGS ) -i -o _build/$(TAG ) /$(BIN_NAME ) -$(OS )$(if $(filter windows, $(OS ) ) ,.exe,) || exit 1;)
50
53
51
54
release :
52
55
gsutil cp -r _build/$(TAG ) gs://docker_app
@@ -60,11 +63,11 @@ lint:
60
63
61
64
e2e-test : bin
62
65
@echo " Running e2e tests..."
63
- go test ./e2e/
66
+ $( GO_TEST ) ./e2e/
64
67
65
68
unit-test :
66
69
@echo " Running unit tests..."
67
- go test $(shell go list ./... | grep -vE '/vendor/|/e2e')
70
+ $( GO_TEST ) $(shell go list ./... | grep -vE '/vendor/|/e2e')
68
71
69
72
clean :
70
73
rm -Rf ./_build docker-app-* .tar.gz
@@ -82,10 +85,9 @@ ci-test:
82
85
@echo " Testing..."
83
86
docker build -t $(IMAGE_NAME ) -test:$(TAG ) $(IMAGE_BUILD_ARGS ) . --target=test
84
87
85
- ci-bin-% :
86
- @echo " Building tarball for $* ..."
88
+ ci-bin-all :
87
89
docker build -t $(IMAGE_NAME ) -bin-all:$(TAG ) $(IMAGE_BUILD_ARGS ) . --target=bin-build
88
- docker run --rm $(IMAGE_NAME ) -bin-all:$(TAG ) tar -cz $(BIN_NAME ) -$* $(if $(filter windows, $* ) ,.exe,) -C /go/src/$(PKG_NAME ) /_build/$(TAG ) / > $(BIN_NAME ) -$* -$(TAG ) .tar.gz
90
+ $( foreach OS, $( OS_LIST ) , docker run --rm $(IMAGE_NAME ) -bin-all:$(TAG ) tar -cz $(BIN_NAME ) -$( OS ) $(if $(filter windows, $( OS ) ) ,.exe,) -C /go/src/$(PKG_NAME ) /_build/$(TAG ) / > $(BIN_NAME ) -$( OS ) -$(TAG ) .tar.gz || exit 1;)
89
91
90
- .PHONY : bin bin-all release test check lint e2e-test unit-test clean ci-lint ci-test
92
+ .PHONY : bin bin-all release test check lint e2e-test unit-test clean ci-lint ci-test ci-bin-all
91
93
.DEFAULT : all
0 commit comments