14
14
15
15
# Args:
16
16
# GCE_PD_CSI_STAGING_IMAGE: Staging image repository
17
-
17
+ REV =$(shell git describe --long --tags --match='v* ' --dirty 2>/dev/null || git rev-list -n1 HEAD)
18
+ ifdef GCE_PD_CSI_STAGING_VERSION
19
+ STAGINGVERSION=${GCE_PD_CSI_STAGING_VERSION}
20
+ else
21
+ STAGINGVERSION=${REV}
22
+ endif
18
23
STAGINGIMAGE =${GCE_PD_CSI_STAGING_IMAGE}
19
- STAGINGVERSION =${GCE_PD_CSI_STAGING_VERSION}
20
24
DRIVERBINARY =gce-pd-csi-driver
21
25
DRIVERWINDOWSBINARY =${DRIVERBINARY}.exe
22
26
23
27
all : gce-pd-driver
24
28
gce-pd-driver :
25
29
mkdir -p bin
26
- ifndef GCE_PD_CSI_STAGING_VERSION
27
- $(error "Must set environment variable GCE_PD_CSI_STAGING_VERSION to staging version")
28
- endif
29
30
go build -ldflags " -X main.vendorVersion=${STAGINGVERSION} " -o bin/${DRIVERBINARY} ./cmd/
30
31
31
- build -windows :
32
+ gce-pd-driver -windows :
32
33
mkdir -p bin
33
- ifndef GCE_PD_CSI_STAGING_VERSION
34
- $(error "Must set environment variable GCE_PD_CSI_STAGING_VERSION to staging version")
35
- endif
36
- GOOS=windows go build -ldflags "-X main.vendorVersion=${STAGINGVERSION}" -o bin/${DRIVERWINDOWSBINARY} ./cmd/
34
+ GOOS=windows go build -ldflags -X=main.vendorVersion=$(STAGINGVERSION ) -o bin/${DRIVERWINDOWSBINARY} ./cmd/
37
35
38
36
build-container :
39
37
ifndef GCE_PD_CSI_STAGING_IMAGE
40
38
$(error "Must set environment variable GCE_PD_CSI_STAGING_IMAGE to staging image repository")
41
- endif
42
- ifndef GCE_PD_CSI_STAGING_VERSION
43
- $(error "Must set environment variable GCE_PD_CSI_STAGING_VERSION to staging version")
44
39
endif
45
40
docker build --build-arg TAG=$(STAGINGVERSION) -t $(STAGINGIMAGE):$(STAGINGVERSION) .
46
41
42
+ build-and-push-windows-container-ltsc2019 :
43
+ ifndef GCE_PD_CSI_STAGING_IMAGE
44
+ $(error "Must set enviroment variable GCE_PD_CSI_STAGING_IMAGE to staging image repository")
45
+ endif
46
+ @sh init-buildx.sh; \
47
+ DOCKER_CLI_EXPERIMENTAL=enabled docker buildx build --file=Dockerfile.Windows --platform=windows \
48
+ -t $(STAGINGIMAGE):$(STAGINGVERSION) --build-arg BASE_IMAGE=servercore --build-arg IMAGE_TAG=ltsc2019 --push .
49
+
50
+ build-and-push-windows-container-1909 :
51
+ ifndef GCE_PD_CSI_STAGING_IMAGE
52
+ $(error "Must set enviroment variable GCE_PD_CSI_STAGING_IMAGE to staging image repository")
53
+ endif
54
+ @sh init-buildx.sh; \
55
+ DOCKER_CLI_EXPERIMENTAL=enabled docker buildx build --file=Dockerfile.Windows --platform=windows \
56
+ -t $(STAGINGIMAGE):$(STAGINGVERSION) --build-arg BASE_IMAGE=servercore --build-arg IMAGE_TAG=1909 --push .
57
+
47
58
push-container : build-container
48
59
gcloud docker -- push $(STAGINGIMAGE ) :$(STAGINGVERSION )
49
60
@@ -52,3 +63,4 @@ test-sanity: gce-pd-driver
52
63
53
64
test-k8s-integration :
54
65
go build -o bin/k8s-integration-test ./test/k8s-integration
66
+
0 commit comments