52 lines
1.8 KiB
Makefile
52 lines
1.8 KiB
Makefile
|
# GOPROXY settings
|
||
|
# If no GOPROXY environment variable available, the pre-defined GOPROXY from go
|
||
|
# env to download and validate go modules is used. Exclude downloading and
|
||
|
# validation of all private modules which are pre-defined in GOPRIVATE. If no
|
||
|
# GOPRIVATE variable defined, the variable of go env is used.
|
||
|
GOPROXY?=$(shell go env GOPROXY)
|
||
|
GOPRIVATE?=$(shell go env GOPRIVATE)
|
||
|
|
||
|
# CONTAINER_RUNTIME
|
||
|
# The CONTAINER_RUNTIME variable will be used to specified the path to a
|
||
|
# container runtime. This is needed to start and run a container images.
|
||
|
CONTAINER_RUNTIME?=$(shell which docker)
|
||
|
CONTAINER_IMAGE_VERSION?=latest
|
||
|
|
||
|
# TEST
|
||
|
# ==============================================================================
|
||
|
PHONY+=test/unit
|
||
|
test/unit:
|
||
|
go test -v -race -coverprofile=coverage.txt -covermode=atomic -timeout 600s -count=1 ./...
|
||
|
|
||
|
test/coverage: test/unit
|
||
|
go tool cover -html=coverage.txt
|
||
|
|
||
|
# CONTAINER STEPS - TEST
|
||
|
# ==============================================================================
|
||
|
PHONY+=container-run/test/unit
|
||
|
container-run/test/unit:
|
||
|
$(MAKE) container-run COMMAND=${@:container-run/%=%}
|
||
|
|
||
|
PHONY+=container-run/test/coverage
|
||
|
container-run/test/coverage:
|
||
|
$(MAKE) container-run COMMAND=${@:container-run/%=%}
|
||
|
|
||
|
# GENERAL CONTAINER COMMAND
|
||
|
# ==============================================================================
|
||
|
PHONY+=container-run
|
||
|
container-run:
|
||
|
${CONTAINER_RUNTIME} run \
|
||
|
--rm \
|
||
|
--volume ${PWD}:/workspace \
|
||
|
--volume /var/run/docker.sock:/var/run/docker.sock \
|
||
|
docker.io/volkerraschek/build-image:latest \
|
||
|
make ${COMMAND} \
|
||
|
GOPROXY=${GOPROXY} \
|
||
|
GOPRIVATE=${GOPRIVATE} \
|
||
|
VERSION=${VERSION:v%=%}
|
||
|
|
||
|
# PHONY
|
||
|
# ==============================================================================
|
||
|
# Declare the contents of the PHONY variable as phony. We keep that information
|
||
|
# in a variable so we can use it in if_changed.
|
||
|
.PHONY: ${PHONY}
|