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