diff --git a/Dockerfile b/Dockerfile index 76aef2afe45..a8fea9c33f6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -16,12 +16,16 @@ RUN apt-get update && \ apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* ENV CGO_ENABLED 0 COPY ./ ./ +RUN go mod vendor +RUN go mod tidy +ARG TEST="true" +RUN if [ "$TEST" != "false" ]; then ./validate.sh ; fi RUN go build -mod=vendor . FROM ubuntu:18.04 AS release LABEL maintainer="hans.hjort@xandr.com" WORKDIR /usr/local/bin/ -COPY --from=build /app/prebid-server/ . +COPY --from=build /app/prebid-server/prebid-server . COPY static static/ COPY stored_requests/data stored_requests/data RUN apt-get update && \ diff --git a/Makefile b/Makefile index d58fd313447..8ffea91fe36 100644 --- a/Makefile +++ b/Makefile @@ -1,35 +1,27 @@ # Makefile -all: - @echo "" - @echo " deps: grab dependencies using go modules" - @echo " test: test prebid-server (via validate.sh)" - @echo " build: build prebid-server" - @echo " image: build docker image" - @echo "" +all: deps test build -.PHONY: install deps test build image +.PHONY: deps test build image # deps will clean out the vendor directory and use go mod for a fresh install deps: - rm -rf vendor GOPROXY="https://proxy.golang.org" go mod vendor -v && go mod tidy -v # test will ensure that all of our dependencies are available and run validate.sh test: deps +# If there is no indentation, Make will treat it as a directive for itself; otherwise, it's regarded as a shell script. +# https://stackoverflow.com/a/4483467 +ifeq "$(adapter)" "" ./validate.sh - - # TODO: when adapters are in their own packages we can enable adapter-specific testing by passing the "adapter" argument - #ifeq ($(adapter),"all") - # ./validate.sh - #else - # go test github.com/prebid/prebid-server/adapters/$(adapter) -bench=. - #endif +else + go test github.com/prebid/prebid-server/adapters/$(adapter) -bench=. +endif # build will ensure all of our tests pass and then build the go binary build: test go build -mod=vendor ./... # image will build a docker image -image: build +image: docker build -t prebid-server .