aboutsummaryrefslogtreecommitdiffstats
path: root/vnfs/DAaaS/microservices/remote-config-operator/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'vnfs/DAaaS/microservices/remote-config-operator/Makefile')
-rw-r--r--vnfs/DAaaS/microservices/remote-config-operator/Makefile54
1 files changed, 41 insertions, 13 deletions
diff --git a/vnfs/DAaaS/microservices/remote-config-operator/Makefile b/vnfs/DAaaS/microservices/remote-config-operator/Makefile
index 15d04b06..cdfed722 100644
--- a/vnfs/DAaaS/microservices/remote-config-operator/Makefile
+++ b/vnfs/DAaaS/microservices/remote-config-operator/Makefile
@@ -12,10 +12,12 @@ VERSION := $(shell git describe --tags)
BUILD := $(shell git rev-parse --short HEAD)
PROJECTNAME := $(shell basename "$(pwd)")
-ROOTPATH := $(shell realpath "$(PWD)/../../../../../../")
PromOP := ${PWD}/build/_output/bin/remote-config-operator
PromOP_LOCAL := ${PromOP}-local
-IMAGE_NAME := dcr.cluster.local:32644/remote-config-operator:latest
+
+ifndef IMAGE_NAME
+override IMAGE_NAME := dcr.cluster.local:32644/remote-config-operator:latest
+endif
export GO111MODULE=on
@@ -23,32 +25,58 @@ export GO111MODULE=on
## build: Generate the k8s and openapi artifacts using operator-sdk
build: clean
- GOOS=linux GOARCH=amd64
- operator-sdk generate k8s --verbose
- operator-sdk generate openapi --verbose
- @operator-sdk build ${IMAGE_NAME} --verbose
- @go build -o ${PromOP_LOCAL} remote-config-operator/cmd/manager
+ GOOS=linux GOARCH=amd64
+ @operator-sdk generate k8s --verbose
+ @operator-sdk generate openapi --verbose
+ @operator-sdk build ${IMAGE_NAME} --verbose
+ @go build -o ${PromOP_LOCAL} remote-config-operator/cmd/manager
+
+## all: Delete the image, binary, complete build, test and run coverage
+all: build test cover
+
+## debug: Build local binary for debugging
+debug:
+ @echo "Deleting ${PromOP_LOCAL} binary"
+ @rm -rf ${PromOP_LOCAL}
+ operator-sdk generate k8s --verbose
+ operator-sdk generate openapi --verbose
+ @echo "Building ${PromOP_LOCAL} binary"
+ @go build -o ${PromOP_LOCAL} remote-config-operator/cmd/manager
+
+## deploy: Build Dockerfile and publish to repository
+deploy: build test publish
## clean: clean build artifacts, image, binary
clean:
- @echo "Deleting the remote-config-operator binary"
- @rm -rf ${PromOP}
- @rm -rf ${PromOP_LOCAL}
- @if docker images $(IMAGE_NAME) | awk '{ print $$2 }' | grep -q -F latest; then echo "Deleting the remote-config-operator docker image"; docker rmi ${IMAGE_NAME}; fi
+ @echo "Deleting the remote-config-operator binary"
+ @rm -rf ${PromOP}
+ @rm -rf ${PromOP_LOCAL}
+ @if docker images $(IMAGE_NAME) | awk '{ print $$2 }' | grep -q -F latest; then echo "Deleting the remote-config-operator docker image"; docker rmi ${IMAGE_NAME}; fi
## publish: Push docker image to registry
publish:
@docker push ${IMAGE_NAME}
+.PHONY: test
+## test: run tests
+test: clean
+ @go test -v ./...
+
+.PHONY: cover
+## cover: run tests and generate coverage report
+cover:
+ @go test ./... -coverprofile=coverage.out
+ @go tool cover -html=coverage.out -o coverage.html
+
## format: format source code
format:
- @go fmt ./...
+ @go fmt ./...
.PHONY: help
## help: Print help message
help: Makefile
@echo
- @echo " Requires Operator SDK v0.11.0+, go1.13.1+"
+ @echo " Requires Operator SDK v0.12.0+, go1.13.1+"
@echo
@echo " Choose a command run in "$(PROJECTNAME)":"
@echo