github.com/autonomy/conform@v0.1.0-alpha.16/Makefile (about) 1 SHA := $(shell gitmeta git sha) 2 TAG := $(shell gitmeta image tag) 3 BUILT := $(shell gitmeta built) 4 5 GOLANG_IMAGE ?= golang:1.12.6 6 7 COMMON_ARGS := -f ./Dockerfile --build-arg GOLANG_IMAGE=$(GOLANG_IMAGE) --build-arg SHA=$(SHA) --build-arg TAG=$(TAG) --build-arg BUILT="$(BUILT)" . 8 9 export DOCKER_BUILDKIT := 1 10 11 all: enforce build test image 12 13 enforce: 14 @conform enforce 15 16 .PHONY: build 17 build: 18 @docker build \ 19 -t conform/$@:$(TAG) \ 20 --target=$@ \ 21 $(COMMON_ARGS) 22 @docker run --rm -v $(PWD)/build:/build conform/$@:$(TAG) cp /conform-linux-amd64 /build 23 @docker run --rm -v $(PWD)/build:/build conform/$@:$(TAG) cp /conform-darwin-amd64 /build 24 25 test: 26 @docker build \ 27 -t conform/$@:$(TAG) \ 28 --target=$@ \ 29 $(COMMON_ARGS) 30 @docker run --rm -v $(PWD)/build:/build conform/$@:$(TAG) cp /coverage.txt /build 31 32 image: build 33 @docker build \ 34 --network=host \ 35 -t autonomy/conform:$(TAG) \ 36 --target=$@ \ 37 $(COMMON_ARGS) 38 39 .PHONY: login 40 login: 41 @docker login --username "$(DOCKER_USERNAME)" --password "$(DOCKER_PASSWORD)" 42 43 push: image 44 @docker tag autonomy/conform:$(TAG) autonomy/conform:latest 45 @docker push autonomy/conform:$(TAG) 46 @docker push autonomy/conform:latest 47 48 deps: 49 @GO111MODULE=on CGO_ENABLED=0 go get -u github.com/autonomy/gitmeta 50 @GO111MODULE=on CGO_ENABLED=0 go get -u github.com/autonomy/conform 51 52 clean: 53 go clean -modcache 54 rm -rf build vendor