-
Notifications
You must be signed in to change notification settings - Fork 33
/
variables.mk
97 lines (82 loc) · 3.1 KB
/
variables.mk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
# project name
PROJECT := csi-baremetal
PROJECT_PATH := ${PWD}
### common path
CSI_OPERATOR_PATH=../csi-baremetal-operator
CSI_CHART_CRDS_PATH=$(CSI_OPERATOR_PATH)/charts/csi-baremetal-operator/crds
CRD_OPTIONS ?= crd
### version
MAJOR := 1
MINOR := 7
PATCH := 0
PRODUCT_VERSION ?= ${MAJOR}.${MINOR}.${PATCH}
BUILD_REL_A := $(shell git rev-list HEAD |wc -l)
BUILD_REL_B := $(shell git rev-parse --short HEAD)
BLD_CNT := $(shell echo ${BUILD_REL_A})
BLD_SHA := $(shell echo ${BUILD_REL_B})
RELEASE_STR := ${BLD_CNT}.${BLD_SHA}
FULL_VERSION := ${PRODUCT_VERSION}-${RELEASE_STR}
TAG := ${FULL_VERSION}
BRANCH := $(shell git rev-parse --abbrev-ref HEAD)
### third-party components version
CSI_PROVISIONER_TAG := v3.6.0
CSI_RESIZER_TAG := v1.9.0
CSI_REGISTRAR_TAG := v2.9.0
LIVENESS_PROBE_TAG := v2.11.0
BUSYBOX_TAG := 1.29
### PATH
SCHEDULING_PKG := scheduling
SCHEDULER_EXTENDER_PKG := extender
SCHEDULER_EXTENDER_PATCHER_PKG := scheduler/patcher
CR_CONTROLLERS := crcontrollers
NODE_CONTROLLER_PKG := node
### components
NODE := node
DRIVE_MANAGER := drivemgr
CONTROLLER := controller
SCHEDULER := scheduler
EXTENDER := extender
EXTENDER_PATCHER := scheduler-patcher
NODE_CONTROLLER := ${NODE_CONTROLLER_PKG}-${CONTROLLER}
PLUGIN := plugin
OPERATOR := operator
BASE_DRIVE_MGR := basemgr
LOOPBACK_DRIVE_MGR := loopbackmgr
DRIVE_MANAGER_TYPE := ${BASE_DRIVE_MGR}
# external components
CSI_PROVISIONER := csi-provisioner
CSI_REGISTRAR := csi-node-driver-registrar
CSI_RESIZER := csi-resizer
LIVENESS_PROBE := livenessprobe
BUSYBOX := busybox
HEALTH_PROBE := health_probe
HEALTH_PROBE_BIN_URL := https://github.com/grpc-ecosystem/grpc-health-probe/releases/download/v0.4.24/grpc_health_probe-linux-amd64
### go env vars
GO_ENV_VARS := GO111MODULE=on ${GOPRIVATE_PART} ${GOPROXY_PART}
### custom variables that could be ommited
GOPRIVATE_PART :=
GOPROXY_PART := GOPROXY=https://proxy.golang.org,direct
### go dependencies
CONTROLLER_GEN_VER := v0.9.2
MOCKERY_VER := v2.9.4
PROTOC_GEN_GO_VER := v1.3.2
CLIENT_GO_VER := v0.22.5
### Ingest information to the binary at the compile time
PACKAGE_NAME := github.com/dell/csi-baremetal
METRICS_PACKAGE := ${PACKAGE_NAME}/pkg/metrics
BASE_PACKAGE := ${PACKAGE_NAME}/pkg/base
LDFLAGS := -ldflags "-X ${METRICS_PACKAGE}.Revision=${RELEASE_STR} -X ${METRICS_PACKAGE}.Branch=${BRANCH} -X ${BASE_PACKAGE}.PluginVersion=${PRODUCT_VERSION} -X ${BASE_PACKAGE}.ProjectPath=${PROJECT_PATH}"
### Kind
KIND_BUILD_DIR := ${PWD}/devkit/kind
KIND_CONFIG_DIR := tests/kind
KIND := ${KIND_BUILD_DIR}/kind
KIND_CONFIG := small-kind.yaml
KIND_IMAGE_VERSION := v1.29.4
KIND_WAIT := 30s
CALICO_VERSION := v3.27.0
### ci vars
# timeout for short test suite, must be parsable as Go time.Duration (60m, 2h)
SHORT_CI_TIMEOUT := 60m
SANITY_TEST := 'volumes should store data' # focus expects to get a regexp as input not a simple string
# override some of variables, optional file
-include variables.override.mk