mirror of
https://github.com/redis/go-redis.git
synced 2025-09-02 22:01:16 +03:00
* fix(make test): add default env in makefile * Apply suggestion from @ndyakov * update hardcoded version
88 lines
2.6 KiB
Makefile
88 lines
2.6 KiB
Makefile
GO_MOD_DIRS := $(shell find . -type f -name 'go.mod' -exec dirname {} \; | sort)
|
|
REDIS_VERSION ?= 8.2
|
|
RE_CLUSTER ?= false
|
|
RCE_DOCKER ?= true
|
|
CLIENT_LIBS_TEST_IMAGE ?= redislabs/client-libs-test:8.2.1-pre
|
|
|
|
docker.start:
|
|
export RE_CLUSTER=$(RE_CLUSTER) && \
|
|
export RCE_DOCKER=$(RCE_DOCKER) && \
|
|
export REDIS_VERSION=$(REDIS_VERSION) && \
|
|
export CLIENT_LIBS_TEST_IMAGE=$(CLIENT_LIBS_TEST_IMAGE) && \
|
|
docker compose --profile all up -d --quiet-pull
|
|
|
|
docker.stop:
|
|
docker compose --profile all down
|
|
|
|
test:
|
|
$(MAKE) docker.start
|
|
@if [ -z "$(REDIS_VERSION)" ]; then \
|
|
echo "REDIS_VERSION not set, running all tests"; \
|
|
$(MAKE) test.ci; \
|
|
else \
|
|
MAJOR_VERSION=$$(echo "$(REDIS_VERSION)" | cut -d. -f1); \
|
|
if [ "$$MAJOR_VERSION" -ge 8 ]; then \
|
|
echo "REDIS_VERSION $(REDIS_VERSION) >= 8, running all tests"; \
|
|
$(MAKE) test.ci; \
|
|
else \
|
|
echo "REDIS_VERSION $(REDIS_VERSION) < 8, skipping vector_sets tests"; \
|
|
$(MAKE) test.ci.skip-vectorsets; \
|
|
fi; \
|
|
fi
|
|
$(MAKE) docker.stop
|
|
|
|
test.ci:
|
|
set -e; for dir in $(GO_MOD_DIRS); do \
|
|
echo "go test in $${dir}"; \
|
|
(cd "$${dir}" && \
|
|
export RE_CLUSTER=$(RE_CLUSTER) && \
|
|
export RCE_DOCKER=$(RCE_DOCKER) && \
|
|
export REDIS_VERSION=$(REDIS_VERSION) && \
|
|
go mod tidy -compat=1.18 && \
|
|
go vet && \
|
|
go test -v -coverprofile=coverage.txt -covermode=atomic ./... -race -skip Example); \
|
|
done
|
|
cd internal/customvet && go build .
|
|
go vet -vettool ./internal/customvet/customvet
|
|
|
|
test.ci.skip-vectorsets:
|
|
set -e; for dir in $(GO_MOD_DIRS); do \
|
|
echo "go test in $${dir} (skipping vector sets)"; \
|
|
(cd "$${dir}" && \
|
|
export RE_CLUSTER=$(RE_CLUSTER) && \
|
|
export RCE_DOCKER=$(RCE_DOCKER) && \
|
|
export REDIS_VERSION=$(REDIS_VERSION) && \
|
|
go mod tidy -compat=1.18 && \
|
|
go vet && \
|
|
go test -v -coverprofile=coverage.txt -covermode=atomic ./... -race \
|
|
-run '^(?!.*(?:VectorSet|vectorset|ExampleClient_vectorset)).*$$' -skip Example); \
|
|
done
|
|
cd internal/customvet && go build .
|
|
go vet -vettool ./internal/customvet/customvet
|
|
|
|
bench:
|
|
export RE_CLUSTER=$(RE_CLUSTER) && \
|
|
export RCE_DOCKER=$(RCE_DOCKER) && \
|
|
export REDIS_VERSION=$(REDIS_VERSION) && \
|
|
go test ./... -test.run=NONE -test.bench=. -test.benchmem -skip Example
|
|
|
|
.PHONY: all test test.ci test.ci.skip-vectorsets bench fmt
|
|
|
|
build:
|
|
export RE_CLUSTER=$(RE_CLUSTER) && \
|
|
export RCE_DOCKER=$(RCE_DOCKER) && \
|
|
export REDIS_VERSION=$(REDIS_VERSION) && \
|
|
go build .
|
|
|
|
fmt:
|
|
gofumpt -w ./
|
|
goimports -w -local github.com/redis/go-redis ./
|
|
|
|
go_mod_tidy:
|
|
set -e; for dir in $(GO_MOD_DIRS); do \
|
|
echo "go mod tidy in $${dir}"; \
|
|
(cd "$${dir}" && \
|
|
go get -u ./... && \
|
|
go mod tidy -compat=1.18); \
|
|
done
|