Files
kube-metrics-adapter/Makefile
T

57 lines
2.0 KiB
Makefile
Raw Normal View History

2018-10-08 13:17:05 +02:00
.PHONY: clean test check build.local build.linux build.osx build.docker build.push
BINARY ?= kube-metrics-adapter
VERSION ?= $(shell git describe --tags --always --dirty)
IMAGE ?= registry-write.opensource.zalan.do/teapot/$(BINARY)
2018-10-08 13:17:05 +02:00
TAG ?= $(VERSION)
SOURCES = $(shell find . -name '*.go')
DOCKERFILE ?= Dockerfile
GOPKGS = $(shell go list ./...)
BUILD_FLAGS ?= -v
2020-10-27 10:25:40 +01:00
OPENAPI ?= pkg/api/generated/openapi/zz_generated.openapi.go
2018-10-08 13:17:05 +02:00
LDFLAGS ?= -X main.version=$(VERSION) -w -s
2020-10-27 10:25:40 +01:00
2018-10-08 13:17:05 +02:00
default: build.local
clean:
rm -rf build
2020-10-27 10:25:40 +01:00
rm -rf $(OPENAPI)
2018-10-08 13:17:05 +02:00
test:
go test -v $(GOPKGS)
check:
2019-11-25 10:55:38 +01:00
go mod download
golangci-lint run --timeout=2m ./...
2018-10-08 13:17:05 +02:00
2020-10-27 10:25:40 +01:00
$(OPENAPI): go.mod
go run k8s.io/kube-openapi/cmd/openapi-gen \
--go-header-file hack/boilerplate.go.txt \
--logtostderr \
-i k8s.io/metrics/pkg/apis/custom_metrics,k8s.io/metrics/pkg/apis/custom_metrics/v1beta1,k8s.io/metrics/pkg/apis/custom_metrics/v1beta2,k8s.io/metrics/pkg/apis/external_metrics,k8s.io/metrics/pkg/apis/external_metrics/v1beta1,k8s.io/metrics/pkg/apis/metrics,k8s.io/metrics/pkg/apis/metrics/v1beta1,k8s.io/apimachinery/pkg/apis/meta/v1,k8s.io/apimachinery/pkg/api/resource,k8s.io/apimachinery/pkg/version,k8s.io/api/core/v1 \
-p pkg/api/generated/openapi \
-o . \
-O zz_generated.openapi \
-r /dev/null
2018-10-08 13:17:05 +02:00
build.local: build/$(BINARY)
build.linux: build/linux/$(BINARY)
build.osx: build/osx/$(BINARY)
2020-10-27 10:25:40 +01:00
build/$(BINARY): go.mod $(SOURCES) $(OPENAPI)
2018-10-08 13:17:05 +02:00
CGO_ENABLED=0 go build -o build/$(BINARY) $(BUILD_FLAGS) -ldflags "$(LDFLAGS)" .
2020-10-27 10:25:40 +01:00
build/linux/$(BINARY): go.mod $(SOURCES) $(OPENAPI)
2018-10-08 13:17:05 +02:00
GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build $(BUILD_FLAGS) -o build/linux/$(BINARY) -ldflags "$(LDFLAGS)" .
2020-10-27 10:25:40 +01:00
build/osx/$(BINARY): go.mod $(SOURCES) $(OPENAPI)
2018-10-08 13:17:05 +02:00
GOOS=darwin GOARCH=amd64 CGO_ENABLED=0 go build $(BUILD_FLAGS) -o build/osx/$(BINARY) -ldflags "$(LDFLAGS)" .
build.docker: build.linux
docker build --rm -t "$(IMAGE):$(TAG)" -f $(DOCKERFILE) .
build.push: build.docker
docker push "$(IMAGE):$(TAG)"