59 lines
2 KiB
Makefile
59 lines
2 KiB
Makefile
pkgs = $(shell go list ./... | grep -v /vendor/)
|
|
|
|
PREFIX ?= $(shell pwd)
|
|
BIN_DIR ?= $(shell pwd)
|
|
DOCKER_IMAGE_NAME ?= ncabatoff/process-exporter
|
|
TAG_VERSION ?= $(shell git describe --tags --abbrev=0)
|
|
SMOKE_TEST = -config.path packaging/conf/all.yaml -once-to-stdout-delay 1s |grep -q 'namedprocess_namegroup_memory_bytes{groupname="process-exporte",memtype="virtual"}'
|
|
|
|
all: format vet test build smoke
|
|
|
|
style:
|
|
@echo ">> checking code style"
|
|
@! gofmt -d $(shell find . -path ./vendor -prune -o -name '*.go' -print) | grep '^'
|
|
|
|
test:
|
|
@echo ">> running short tests"
|
|
go test -short $(pkgs)
|
|
|
|
format:
|
|
@echo ">> formatting code"
|
|
go fmt $(pkgs)
|
|
|
|
vet:
|
|
@echo ">> vetting code"
|
|
go vet $(pkgs)
|
|
|
|
build:
|
|
@echo ">> building code"
|
|
cd cmd/process-exporter; CGO_ENABLED=0 go build -ldflags "-X main.version=$(TAG_VERSION)" -o ../../process-exporter -a -tags netgo
|
|
|
|
smoke:
|
|
@echo ">> smoke testing process-exporter"
|
|
./process-exporter $(SMOKE_TEST)
|
|
|
|
integ:
|
|
@echo ">> integration testing process-exporter"
|
|
go build -o integration-tester cmd/integration-tester/main.go
|
|
go build -o load-generator cmd/load-generator/main.go
|
|
./integration-tester -write-size-bytes 65536
|
|
|
|
install:
|
|
@echo ">> installing binary"
|
|
cd cmd/process-exporter; CGO_ENABLED=0 go install -a -tags netgo
|
|
|
|
docker:
|
|
@echo ">> building docker image"
|
|
docker build -t "$(DOCKER_IMAGE_NAME):$(TAG_VERSION)" .
|
|
docker rm configs
|
|
docker create -v /packaging --name configs alpine:3.4 /bin/true
|
|
docker cp packaging/conf configs:/packaging/conf
|
|
docker run --rm --volumes-from configs "$(DOCKER_IMAGE_NAME):$(TAG_VERSION)" $(SMOKE_TEST)
|
|
|
|
dockertest:
|
|
docker run --rm -it -v `pwd`:/go/src/github.com/ncabatoff/process-exporter golang:1.12 make -C /go/src/github.com/ncabatoff/process-exporter test
|
|
|
|
dockerinteg:
|
|
docker run --rm -it -v `pwd`:/go/src/github.com/ncabatoff/process-exporter golang:1.12 make -C /go/src/github.com/ncabatoff/process-exporter build integ
|
|
|
|
.PHONY: all style format test vet build integ docker
|