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