11ROOT_DIR: =$(shell dirname $(realpath $(lastword $(MAKEFILE_LIST ) ) ) )
22
3- VERSION: =$(shell $(ROOT_DIR ) /scripts /getversion.sh )
3+ VERSION: =$(shell $(ROOT_DIR ) /hack /getversion)
44COMMIT: =$(shell git rev-list -1 HEAD)
55DATE: =$(shell date -uR)
66GOVERSION: =$(shell go version | awk '{print $$3 " " $$4}')
77
8- IMAGE_NAME? = preflight:latest
9- OVERLAY? =sample
8+ DOCKER_IMAGE? =quay.io/jetstack/ preflight
9+ DOCKER_IMAGE_TAG? = $( DOCKER_IMAGE ) : $( VERSION )
1010
1111define LDFLAGS
1212-X "github.com/jetstack/preflight/cmd.PreflightVersion=$(VERSION ) " \
@@ -22,6 +22,11 @@ export GO111MODULE=on
2222
2323.PHONY : build
2424
25+ clean :
26+ cd $(ROOT_DIR ) && rm -rf ./builds ./bundles
27+
28+ # Golang cli
29+
2530build :
2631 cd $(ROOT_DIR ) && $(GO_BUILD ) -o builds/preflight .
2732
3439lint : vet
3540 cd $(ROOT_DIR ) && golint
3641
37- clean :
38- cd $(ROOT_DIR ) && rm -rf ./builds
42+ ./builds/preflight-$(GOOS ) -$(GOARCH ) :
43+ GOOS=$(GOOS ) GOARCH=$(GOARCH ) go build -o ./builds/preflight-$(GOOS ) -$(GOARCH ) .
44+
45+ build-all-platforms :
46+ $(MAKE ) GOOS=linux GOARCH=amd64 ./builds/preflight-linux-amd64
47+ $(MAKE ) GOOS=darwin GOARCH=amd64 ./builds/preflight-darwin-amd64
48+ $(MAKE ) GOOS=windows GOARCH=amd64 ./builds/preflight-windows-amd64
49+
50+ # Bundles
51+
52+ ./bundles/preflight-bundle-$(GOOS ) -$(GOARCH ) .tgz : ./builds/preflight-$(GOOS ) -$(GOARCH )
53+ cd $(ROOT_DIR ) && \
54+ mkdir -p ./bundles && \
55+ tar --transform " s/assets\/packages/preflight-packages/" -cvf $@ .tmp ./preflight-packages/ && \
56+ tar --transform "s/examples\/pods.preflight.yaml/preflight.yaml/" -rvf $@.tmp examples/pods.preflight.yaml && \
57+ tar --transform "s/builds\/preflight-$(GOOS)-$(GOARCH)/preflight/" -rvf $@.tmp $< && \
58+ gzip < $@.tmp > $@ && \
59+ rm $@.tmp
60+
61+ bundle-all-platforms :
62+ $(MAKE ) GOOS=linux GOARCH=amd64 ./bundles/preflight-bundle-linux-amd64.tgz
63+ $(MAKE ) GOOS=darwin GOARCH=amd64 ./bundles/preflight-bundle-darwin-amd64.tgz
64+ $(MAKE ) GOOS=windows GOARCH=amd64 ./bundles/preflight-bundle-windows-amd64.tgz
65+
66+ # Docker image
3967
4068build-docker-image :
41- docker build -t $(IMAGE_NAME ) .
69+ docker build --tag $(DOCKER_IMAGE_TAG ) .
4270
4371push-docker-image :
44- docker push $(IMAGE_NAME )
72+ docker tag $(DOCKER_IMAGE_TAG ) $(DOCKER_IMAGE ) :latest
73+ docker push $(DOCKER_IMAGE_TAG )
74+ docker push $(DOCKER_IMAGE ) :latest
75+
76+ # CI
77+
78+ ci-test : test lint
79+
80+ ci-build : ci-test build build-docker-image build-all-platforms bundle-all-platforms
81+
82+ ci-publish : ci-build push-docker-image
0 commit comments