56 lines
1.7 KiB
Makefile
56 lines
1.7 KiB
Makefile
all: build
|
|
|
|
TAG?=dev
|
|
FLAGS=
|
|
ENVVAR=
|
|
GOOS?=linux
|
|
|
|
deps:
|
|
go get github.com/tools/godep
|
|
|
|
build: clean deps
|
|
$(ENVVAR) GOOS=$(GOOS) godep go build ./...
|
|
$(ENVVAR) GOOS=$(GOOS) godep go build -o cluster-autoscaler
|
|
|
|
build-binary: clean deps
|
|
$(ENVVAR) GOOS=$(GOOS) godep go build -o cluster-autoscaler
|
|
|
|
test-unit: clean deps build
|
|
$(ENVVAR) godep go test --test.short -race ./... $(FLAGS)
|
|
|
|
dev-release: build-binary execute-release
|
|
echo "Release ${TAG} completed"
|
|
|
|
execute-release:
|
|
ifndef REGISTRY
|
|
ERR = $(error REGISTRY is undefined)
|
|
$(ERR)
|
|
endif
|
|
docker build --pull -t ${REGISTRY}/cluster-autoscaler:${TAG} .
|
|
./push_image.sh ${REGISTRY}/cluster-autoscaler:${TAG}
|
|
|
|
clean:
|
|
rm -f cluster-autoscaler
|
|
|
|
generate:
|
|
go generate ./cloudprovider/aws
|
|
|
|
format:
|
|
test -z "$$(find . -path ./vendor -prune -type f -o -name '*.go' -exec gofmt -s -d {} + | tee /dev/stderr)" || \
|
|
test -z "$$(find . -path ./vendor -prune -type f -o -name '*.go' -exec gofmt -s -w {} + | tee /dev/stderr)"
|
|
|
|
docker-builder:
|
|
docker build -t autoscaling-builder ../builder
|
|
|
|
build-in-docker: clean docker-builder
|
|
docker run -v `pwd`:/gopath/src/k8s.io/autoscaler/cluster-autoscaler/ autoscaling-builder:latest bash -c 'cd /gopath/src/k8s.io/autoscaler/cluster-autoscaler && make build-binary'
|
|
|
|
release: build-in-docker execute-release
|
|
echo "Full in-docker release ${TAG} completed"
|
|
|
|
test-in-docker: clean docker-builder
|
|
docker run -v `pwd`:/gopath/src/k8s.io/autoscaler/cluster-autoscaler/ autoscaling-builder:latest bash -c 'cd /gopath/src/k8s.io/autoscaler/cluster-autoscaler && godep go test ./... '
|
|
|
|
.PHONY: all deps build test-unit clean format execute-release dev-release docker-builder build-in-docker release generate
|
|
|