mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-12-23 13:30:23 +00:00
91774fc936
Uses github.com/libopenstorage/secrets to communicate with Vault. This removes the need for maintaining our own limited Vault APIs. By adding the new dependency, several other packages got updated in the process. Unused indirect dependencies have been removed from go.mod. Signed-off-by: Niels de Vos <ndevos@redhat.com>
77 lines
2.2 KiB
Makefile
77 lines
2.2 KiB
Makefile
export GO15VENDOREXPERIMENT=1
|
|
|
|
BENCH_FLAGS ?= -cpuprofile=cpu.pprof -memprofile=mem.pprof -benchmem
|
|
PKGS ?= $(shell glide novendor)
|
|
# Many Go tools take file globs or directories as arguments instead of packages.
|
|
PKG_FILES ?= *.go zapcore benchmarks buffer zapgrpc zaptest zaptest/observer internal/bufferpool internal/exit internal/color internal/ztest
|
|
|
|
# The linting tools evolve with each Go version, so run them only on the latest
|
|
# stable release.
|
|
GO_VERSION := $(shell go version | cut -d " " -f 3)
|
|
GO_MINOR_VERSION := $(word 2,$(subst ., ,$(GO_VERSION)))
|
|
LINTABLE_MINOR_VERSIONS := 12
|
|
ifneq ($(filter $(LINTABLE_MINOR_VERSIONS),$(GO_MINOR_VERSION)),)
|
|
SHOULD_LINT := true
|
|
endif
|
|
|
|
|
|
.PHONY: all
|
|
all: lint test
|
|
|
|
.PHONY: dependencies
|
|
dependencies:
|
|
@echo "Installing Glide and locked dependencies..."
|
|
glide --version || go get -u -f github.com/Masterminds/glide
|
|
glide install
|
|
@echo "Installing test dependencies..."
|
|
go install ./vendor/github.com/axw/gocov/gocov
|
|
go install ./vendor/github.com/mattn/goveralls
|
|
ifdef SHOULD_LINT
|
|
@echo "Installing golint..."
|
|
go install ./vendor/github.com/golang/lint/golint
|
|
else
|
|
@echo "Not installing golint, since we don't expect to lint on" $(GO_VERSION)
|
|
endif
|
|
|
|
# Disable printf-like invocation checking due to testify.assert.Error()
|
|
VET_RULES := -printf=false
|
|
|
|
.PHONY: lint
|
|
lint:
|
|
ifdef SHOULD_LINT
|
|
@rm -rf lint.log
|
|
@echo "Checking formatting..."
|
|
@gofmt -d -s $(PKG_FILES) 2>&1 | tee lint.log
|
|
@echo "Installing test dependencies for vet..."
|
|
@go test -i $(PKGS)
|
|
@echo "Checking vet..."
|
|
@go vet $(VET_RULES) $(PKGS) 2>&1 | tee -a lint.log
|
|
@echo "Checking lint..."
|
|
@$(foreach dir,$(PKGS),golint $(dir) 2>&1 | tee -a lint.log;)
|
|
@echo "Checking for unresolved FIXMEs..."
|
|
@git grep -i fixme | grep -v -e vendor -e Makefile | tee -a lint.log
|
|
@echo "Checking for license headers..."
|
|
@./check_license.sh | tee -a lint.log
|
|
@[ ! -s lint.log ]
|
|
else
|
|
@echo "Skipping linters on" $(GO_VERSION)
|
|
endif
|
|
|
|
.PHONY: test
|
|
test:
|
|
go test -race $(PKGS)
|
|
|
|
.PHONY: cover
|
|
cover:
|
|
./scripts/cover.sh $(PKGS)
|
|
|
|
.PHONY: bench
|
|
BENCH ?= .
|
|
bench:
|
|
@$(foreach pkg,$(PKGS),go test -bench=$(BENCH) -run="^$$" $(BENCH_FLAGS) $(pkg);)
|
|
|
|
.PHONY: updatereadme
|
|
updatereadme:
|
|
rm -f README.md
|
|
cat .readme.tmpl | go run internal/readme/readme.go > README.md
|