go.uber.org/yarpc@v1.72.1/etc/make/docker.mk (about) 1 DOCKER_GO_VERSION ?= 1.18 2 DOCKERFILE := Dockerfile.$(DOCKER_GO_VERSION) 3 DOCKER_IMAGE := uber/yarpc-go-$(DOCKER_GO_VERSION) 4 5 ifdef DOCKER_HOST 6 DOCKER_BUILD_FLAGS ?= --compress 7 endif 8 9 DOCKER_RUN_FLAGS ?= -e V -e RUN -e EXAMPLES_JOBS -e PACKAGES -e WITHIN_DOCKER=1 -e TRAVIS_JOB_ID -e TRAVIS_PULL_REQUEST 10 ifneq ($(TEST_TIME_SCALE),) 11 DOCKER_RUN_FLAGS += -e TEST_TIME_SCALE 12 endif 13 ifneq ($(DOCKER_CPUS),) 14 DOCKER_RUN_FLAGS += --cpus=$(DOCKER_CPUS) 15 endif 16 17 DOCKER_VOLUME_FLAGS=-v $(shell pwd):/go/src/go.uber.org/yarpc 18 19 .PHONY: deps 20 deps: $(DOCKER) __check_docker ## install all dependencies 21 PATH=$$PATH:$(BIN) docker build $(DOCKER_BUILD_FLAGS) -t $(DOCKER_IMAGE) -f $(DOCKERFILE) . 22 23 .PHONY: build 24 build: deps ## go build all packages 25 PATH=$$PATH:$(BIN) docker run $(DOCKER_RUN_FLAGS) $(DOCKER_IMAGE) make build 26 27 .PHONY: generate 28 generate: deps ## call generation script 29 PATH=$$PATH:$(BIN) docker run $(DOCKER_VOLUME_FLAGS) $(DOCKER_RUN_FLAGS) $(DOCKER_IMAGE) make generate 30 31 .PHONY: nogogenerate 32 nogogenerate: deps ## check to make sure go:generate is not used 33 PATH=$$PATH:$(BIN) docker run $(DOCKER_RUN_FLAGS) $(DOCKER_IMAGE) make nogogenerate 34 35 .PHONY: generatenodiff 36 generatenodiff: deps ## make sure no diff is created by make generate 37 PATH=$$PATH:$(BIN) docker run $(DOCKER_RUN_FLAGS) $(DOCKER_IMAGE) make generatenodiff 38 39 .PHONY: gofmt 40 gofmt: deps ## check gofmt 41 PATH=$$PATH:$(BIN) docker run $(DOCKER_RUN_FLAGS) $(DOCKER_IMAGE) make gofmt 42 43 .PHONY: govet 44 govet: deps ## check go vet 45 PATH=$$PATH:$(BIN) docker run $(DOCKER_RUN_FLAGS) $(DOCKER_IMAGE) make govet 46 47 .PHONY: golint 48 golint: deps ## check golint 49 PATH=$$PATH:$(BIN) docker run $(DOCKER_RUN_FLAGS) $(DOCKER_IMAGE) make golint 50 51 .PHONY: staticcheck 52 staticcheck: deps ## check staticchck 53 PATH=$$PATH:$(BIN) docker run $(DOCKER_RUN_FLAGS) $(DOCKER_IMAGE) make staticcheck 54 55 .PHONY: errcheck 56 errcheck: deps ## check errcheck 57 PATH=$$PATH:$(BIN) docker run $(DOCKER_RUN_FLAGS) $(DOCKER_IMAGE) make errcheck 58 59 .PHONY: verifycodecovignores 60 verifycodecovignores: deps ## check verifycodecovignores 61 PATH=$$PATH:$(BIN) docker run $(DOCKER_RUN_FLAGS) $(DOCKER_IMAGE) make verifycodecovignores 62 63 .PHONY: verifyversion 64 verifyversion: deps ## verify the version in the changelog is the same as in version.go 65 PATH=$$PATH:$(BIN) docker run $(DOCKER_RUN_FLAGS) $(DOCKER_IMAGE) make verifyversion 66 67 .PHONY: basiclint 68 basiclint: deps ## run gofmt govet golint staticcheck errcheck 69 PATH=$$PATH:$(BIN) docker run $(DOCKER_RUN_FLAGS) $(DOCKER_IMAGE) make basiclint 70 71 .PHONY: lint 72 lint: deps ## run all linters 73 PATH=$$PATH:$(BIN) docker run $(DOCKER_RUN_FLAGS) $(DOCKER_IMAGE) make lint 74 75 .PHONY: test 76 test: deps ## run all tests 77 PATH=$$PATH:$(BIN) docker run $(DOCKER_RUN_FLAGS) $(DOCKER_IMAGE) make test 78 79 .PHONY: cover 80 cover: deps ## run all tests and output code coverage 81 PATH=$$PATH:$(BIN) docker run $(DOCKER_RUN_FLAGS) $(DOCKER_IMAGE) make cover 82 83 .PHONY: crossdock-cover 84 crossdock-cover: deps 85 PATH=$$PATH:$(BIN) docker run $(DOCKER_RUN_FLAGS) $(DOCKER_IMAGE) make crossdock-cover 86 87 .PHONY: codecov 88 codecov: SHELL := /bin/bash 89 codecov: deps ## run code coverage and upload to coveralls 90 PATH=$$PATH:$(BIN) docker run $(shell bash <(curl -s https://codecov.io/env)) $(DOCKER_RUN_FLAGS) $(DOCKER_IMAGE) make codecov 91 92 .PHONY: examples 93 examples: deps ## run all examples tests 94 PATH=$$PATH:$(BIN) docker run $(DOCKER_RUN_FLAGS) $(DOCKER_IMAGE) make examples 95 96 .PHONY: shell 97 shell: deps ## go into a bash shell in docker with the repository linked as a volume 98 PATH=$$PATH:$(BIN) docker run -it $(DOCKER_VOLUME_FLAGS) $(DOCKER_RUN_FLAGS) $(DOCKER_IMAGE) /bin/bash 99 100 .PHONY: __check_docker 101 __check_docker: 102 @PATH=$$PATH:$(BIN) ./etc/bin/check-docker.sh