Files
node-problem-detector/Makefile
2017-01-13 11:13:59 -08:00

61 lines
1.4 KiB
Makefile

.PHONY: all build-container build-tar build push-container push-tar push clean vet fmt version
all: build
VERSION := $(shell git describe --tags --dirty)
TAG ?= $(VERSION)
UPLOAD_PATH ?= gs://kubernetes-release
# Trim the trailing '/' in the path
UPLOAD_PATH := $(shell echo $(UPLOAD_PATH) | sed '$$s/\/*$$//')
PROJ ?= google_containers
PKG := k8s.io/node-problem-detector
PKG_SOURCES := $(shell find pkg cmd -name '*.go')
TARBALL := node-problem-detector-$(VERSION).tar.gz
IMAGE := gcr.io/$(PROJ)/node-problem-detector:$(TAG)
vet:
go list ./... | grep -v "./vendor/*" | xargs go vet
fmt:
find . -type f -name "*.go" | grep -v "./vendor/*" | xargs gofmt -s -w -l
version:
@echo $(VERSION)
./bin/node-problem-detector: $(PKG_SOURCES)
GOOS=linux go build -o bin/node-problem-detector \
-ldflags '-w -extldflags "-static" -X $(PKG)/pkg/version.version=$(VERSION)' \
cmd/node_problem_detector.go
test: vet fmt
go test -timeout=1m -v -race ./pkg/...
build-container: ./bin/node-problem-detector
docker build -t $(IMAGE) .
build-tar: ./bin/node-problem-detector
tar -zcvf $(TARBALL) bin/ config/
sha1sum $(TARBALL)
md5sum $(TARBALL)
build: build-container build-tar
push-container: build-container
gcloud docker push $(IMAGE)
push-tar: build-tar
gsutil cp $(TARBALL) $(UPLOAD_PATH)/node-problem-detector/
push: push-container push-tar
clean:
rm -f bin/node-problem-detector
rm -f node-problem-detector-*.tar.gz