mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-11-17 11:50:18 +00:00
build: Add -tags=nautilus
to go test
and go build
Build `GO_TAGS` based on the `CEPH_VERSION` from build.env. In case the version is non-empty, pass `-tags=${CEPH_VERSION}` to any of the go commandline and script that call go programs. Signed-off-by: Niels de Vos <ndevos@redhat.com>
This commit is contained in:
parent
58bf45a13e
commit
c02413a663
@ -32,6 +32,7 @@ before_install:
|
||||
|
||||
before_script:
|
||||
- export CV=$(source build.env ; echo ${CEPH_VERSION})
|
||||
- test -z "${CV}" || export GO_TAGS="-tags=${CV}"
|
||||
- curl https://download.ceph.com/keys/release.asc | sudo apt-key add -
|
||||
- sudo apt-add-repository
|
||||
"deb https://download.ceph.com/debian-${CV} $(lsb_release -sc) main"
|
||||
|
18
Makefile
18
Makefile
@ -40,6 +40,14 @@ LDFLAGS += -X $(GO_PROJECT)/internal/util.DriverVersion=$(CSI_IMAGE_VERSION)
|
||||
|
||||
BASE_IMAGE ?= $(shell . $(CURDIR)/build.env ; echo $${BASE_IMAGE})
|
||||
|
||||
ifndef CEPH_VERSION
|
||||
CEPH_VERSION = $(shell . $(CURDIR)/build.env ; echo $${CEPH_VERSION})
|
||||
endif
|
||||
ifdef CEPH_VERSION
|
||||
# pass -tags to go commands (for go-ceph build constraints)
|
||||
GO_TAGS = -tags=$(CEPH_VERSION)
|
||||
endif
|
||||
|
||||
# passing TARGET=static-check on the 'make containerized-test' or 'make
|
||||
# containerized-build' commandline will run the selected target instead of
|
||||
# 'make test' in the container. Obviously other targets can be passed as well,
|
||||
@ -72,7 +80,7 @@ static-check: check-env go-lint lint-extras gosec
|
||||
go-test: TEST_COVERAGE ?= $(shell . $(CURDIR)/build.env ; echo $${TEST_COVERAGE})
|
||||
go-test: GO_COVER_DIR ?= $(shell . $(CURDIR)/build.env ; echo $${GO_COVER_DIR})
|
||||
go-test: check-env
|
||||
TEST_COVERAGE=$(TEST_COVERAGE) GO_COVER_DIR=$(GO_COVER_DIR) ./scripts/test-go.sh
|
||||
TEST_COVERAGE="$(TEST_COVERAGE)" GO_COVER_DIR="$(GO_COVER_DIR)" GO_TAGS="$(GO_TAGS)" ./scripts/test-go.sh
|
||||
|
||||
mod-check: check-env
|
||||
@echo 'running: go mod verify'
|
||||
@ -100,10 +108,10 @@ lint-py:
|
||||
./scripts/lint-extras.sh lint-py
|
||||
|
||||
gosec:
|
||||
./scripts/gosec.sh
|
||||
GO_TAGS="$(GO_TAGS)" ./scripts/gosec.sh
|
||||
|
||||
func-test:
|
||||
go test -mod=vendor github.com/ceph/ceph-csi/e2e $(TESTOPTIONS)
|
||||
go test $(GO_TAGS) -mod=vendor github.com/ceph/ceph-csi/e2e $(TESTOPTIONS)
|
||||
|
||||
check-env:
|
||||
@./scripts/check-env.sh
|
||||
@ -114,10 +122,10 @@ commitlint:
|
||||
.PHONY: cephcsi
|
||||
cephcsi: check-env
|
||||
if [ ! -d ./vendor ]; then (go mod tidy && go mod vendor); fi
|
||||
GOOS=linux go build -mod vendor -a -ldflags '$(LDFLAGS)' -o _output/cephcsi ./cmd/
|
||||
GOOS=linux go build $(GO_TAGS) -mod vendor -a -ldflags '$(LDFLAGS)' -o _output/cephcsi ./cmd/
|
||||
|
||||
e2e.test: check-env
|
||||
go test -mod=vendor -c ./e2e
|
||||
go test $(GO_TAGS) -mod=vendor -c ./e2e
|
||||
|
||||
.PHONY: containerized-build containerized-test
|
||||
containerized-build: TARGET = cephcsi
|
||||
|
@ -6,7 +6,7 @@ if [[ -x "$(command -v gosec)" ]]; then
|
||||
# gosec does not support -mod=vendor, so fallback to non-module support and
|
||||
# assume all dependencies are available in ./vendor already
|
||||
export GO111MODULE=off
|
||||
find cmd internal -type d -print0 | xargs --null gosec
|
||||
find cmd internal -type d -print0 | xargs --null gosec "${GO_TAGS}"
|
||||
else
|
||||
echo "WARNING: gosec not found, skipping security tests" >&2
|
||||
fi
|
||||
|
@ -6,7 +6,7 @@ COVERFILE="${GO_COVER_DIR}/profile.cov"
|
||||
# no special options, exec to go test w/ all pkgs
|
||||
if [[ ${TEST_EXITFIRST} != "yes" && -z ${TEST_COVERAGE} ]]; then
|
||||
# shellcheck disable=SC2086
|
||||
exec go test -mod=vendor -v ${GOPACKAGES}
|
||||
exec go test "${GO_TAGS}" -mod=vendor -v ${GOPACKAGES}
|
||||
fi
|
||||
|
||||
# our options are set so we need to handle each go package one
|
||||
@ -20,7 +20,7 @@ failed=0
|
||||
for gopackage in ${GOPACKAGES}; do
|
||||
echo "--- testing: ${gopackage} ---"
|
||||
# shellcheck disable=SC2086
|
||||
go test -mod=vendor -v ${GOTESTOPTS} "${gopackage}" || ((failed += 1))
|
||||
go test "${GO_TAGS}" -mod=vendor -v ${GOTESTOPTS} "${gopackage}" || ((failed += 1))
|
||||
if [[ -f cover.out ]]; then
|
||||
# Append to coverfile
|
||||
grep -v "^mode: count" cover.out >>"${COVERFILE}"
|
||||
|
@ -39,7 +39,7 @@ if [[ "${KUBE_MAJOR}" -ge 1 ]] && [[ "${KUBE_MINOR}" -ge 17 ]]; then
|
||||
fi
|
||||
|
||||
# functional tests
|
||||
go test github.com/ceph/ceph-csi/e2e --deploy-timeout=10 -timeout=30m --cephcsi-namespace=cephcsi-e2e-$RANDOM -v -mod=vendor
|
||||
go test "${GO_TAGS}" github.com/ceph/ceph-csi/e2e --deploy-timeout=10 -timeout=30m --cephcsi-namespace=cephcsi-e2e-$RANDOM -v -mod=vendor
|
||||
|
||||
if [[ "${KUBE_MAJOR}" -ge 1 ]] && [[ "${KUBE_MINOR}" -ge 17 ]]; then
|
||||
# delete snapshot CRD
|
||||
|
@ -49,7 +49,7 @@ scripts/install-helm.sh up
|
||||
# install cephcsi helm charts
|
||||
scripts/install-helm.sh install-cephcsi ${NAMESPACE}
|
||||
# functional tests
|
||||
go test github.com/ceph/ceph-csi/e2e -mod=vendor --deploy-timeout=10 -timeout=30m --cephcsi-namespace=${NAMESPACE} --deploy-cephfs=false --deploy-rbd=false -v
|
||||
go test "${GO_TAGS}" github.com/ceph/ceph-csi/e2e -mod=vendor --deploy-timeout=10 -timeout=30m --cephcsi-namespace=${NAMESPACE} --deploy-cephfs=false --deploy-rbd=false -v
|
||||
|
||||
#cleanup
|
||||
# skip snapshot operation if kube version is less than 1.17.0
|
||||
|
Loading…
Reference in New Issue
Block a user