mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-11-09 16:00:22 +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:
|
before_script:
|
||||||
- export CV=$(source build.env ; echo ${CEPH_VERSION})
|
- 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 -
|
- curl https://download.ceph.com/keys/release.asc | sudo apt-key add -
|
||||||
- sudo apt-add-repository
|
- sudo apt-add-repository
|
||||||
"deb https://download.ceph.com/debian-${CV} $(lsb_release -sc) main"
|
"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})
|
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
|
# passing TARGET=static-check on the 'make containerized-test' or 'make
|
||||||
# containerized-build' commandline will run the selected target instead of
|
# containerized-build' commandline will run the selected target instead of
|
||||||
# 'make test' in the container. Obviously other targets can be passed as well,
|
# '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: TEST_COVERAGE ?= $(shell . $(CURDIR)/build.env ; echo $${TEST_COVERAGE})
|
||||||
go-test: GO_COVER_DIR ?= $(shell . $(CURDIR)/build.env ; echo $${GO_COVER_DIR})
|
go-test: GO_COVER_DIR ?= $(shell . $(CURDIR)/build.env ; echo $${GO_COVER_DIR})
|
||||||
go-test: check-env
|
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
|
mod-check: check-env
|
||||||
@echo 'running: go mod verify'
|
@echo 'running: go mod verify'
|
||||||
@ -100,10 +108,10 @@ lint-py:
|
|||||||
./scripts/lint-extras.sh lint-py
|
./scripts/lint-extras.sh lint-py
|
||||||
|
|
||||||
gosec:
|
gosec:
|
||||||
./scripts/gosec.sh
|
GO_TAGS="$(GO_TAGS)" ./scripts/gosec.sh
|
||||||
|
|
||||||
func-test:
|
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:
|
check-env:
|
||||||
@./scripts/check-env.sh
|
@./scripts/check-env.sh
|
||||||
@ -114,10 +122,10 @@ commitlint:
|
|||||||
.PHONY: cephcsi
|
.PHONY: cephcsi
|
||||||
cephcsi: check-env
|
cephcsi: check-env
|
||||||
if [ ! -d ./vendor ]; then (go mod tidy && go mod vendor); fi
|
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
|
e2e.test: check-env
|
||||||
go test -mod=vendor -c ./e2e
|
go test $(GO_TAGS) -mod=vendor -c ./e2e
|
||||||
|
|
||||||
.PHONY: containerized-build containerized-test
|
.PHONY: containerized-build containerized-test
|
||||||
containerized-build: TARGET = cephcsi
|
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
|
# gosec does not support -mod=vendor, so fallback to non-module support and
|
||||||
# assume all dependencies are available in ./vendor already
|
# assume all dependencies are available in ./vendor already
|
||||||
export GO111MODULE=off
|
export GO111MODULE=off
|
||||||
find cmd internal -type d -print0 | xargs --null gosec
|
find cmd internal -type d -print0 | xargs --null gosec "${GO_TAGS}"
|
||||||
else
|
else
|
||||||
echo "WARNING: gosec not found, skipping security tests" >&2
|
echo "WARNING: gosec not found, skipping security tests" >&2
|
||||||
fi
|
fi
|
||||||
|
@ -6,7 +6,7 @@ COVERFILE="${GO_COVER_DIR}/profile.cov"
|
|||||||
# no special options, exec to go test w/ all pkgs
|
# no special options, exec to go test w/ all pkgs
|
||||||
if [[ ${TEST_EXITFIRST} != "yes" && -z ${TEST_COVERAGE} ]]; then
|
if [[ ${TEST_EXITFIRST} != "yes" && -z ${TEST_COVERAGE} ]]; then
|
||||||
# shellcheck disable=SC2086
|
# shellcheck disable=SC2086
|
||||||
exec go test -mod=vendor -v ${GOPACKAGES}
|
exec go test "${GO_TAGS}" -mod=vendor -v ${GOPACKAGES}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# our options are set so we need to handle each go package one
|
# our options are set so we need to handle each go package one
|
||||||
@ -20,7 +20,7 @@ failed=0
|
|||||||
for gopackage in ${GOPACKAGES}; do
|
for gopackage in ${GOPACKAGES}; do
|
||||||
echo "--- testing: ${gopackage} ---"
|
echo "--- testing: ${gopackage} ---"
|
||||||
# shellcheck disable=SC2086
|
# 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
|
if [[ -f cover.out ]]; then
|
||||||
# Append to coverfile
|
# Append to coverfile
|
||||||
grep -v "^mode: count" cover.out >>"${COVERFILE}"
|
grep -v "^mode: count" cover.out >>"${COVERFILE}"
|
||||||
|
@ -39,7 +39,7 @@ if [[ "${KUBE_MAJOR}" -ge 1 ]] && [[ "${KUBE_MINOR}" -ge 17 ]]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# functional tests
|
# 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
|
if [[ "${KUBE_MAJOR}" -ge 1 ]] && [[ "${KUBE_MINOR}" -ge 17 ]]; then
|
||||||
# delete snapshot CRD
|
# delete snapshot CRD
|
||||||
|
@ -49,7 +49,7 @@ scripts/install-helm.sh up
|
|||||||
# install cephcsi helm charts
|
# install cephcsi helm charts
|
||||||
scripts/install-helm.sh install-cephcsi ${NAMESPACE}
|
scripts/install-helm.sh install-cephcsi ${NAMESPACE}
|
||||||
# functional tests
|
# 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
|
#cleanup
|
||||||
# skip snapshot operation if kube version is less than 1.17.0
|
# skip snapshot operation if kube version is less than 1.17.0
|
||||||
|
Loading…
Reference in New Issue
Block a user