@@ -26,10 +26,19 @@ DRIVERWINDOWSBINARY=${DRIVERBINARY}.exe
26
26
27
27
DOCKER=DOCKER_CLI_EXPERIMENTAL =enabled docker
28
28
29
+ BASE_IMAGE_LTSC2019 =mcr.microsoft.com/windows/servercore:ltsc2019
30
+ BASE_IMAGE_1909 =mcr.microsoft.com/windows/servercore:1909
31
+ BASE_IMAGE_2004 =mcr.microsoft.com/windows/servercore:2004
32
+ BASE_IMAGE_20H2 =mcr.microsoft.com/windows/servercore:20H2
33
+
34
+ # Both arrays MUST be index aligned.
35
+ WINDOWS_IMAGE_TAGS =ltsc2019 1909 2004 20H2
36
+ WINDOWS_BASE_IMAGES =$(BASE_IMAGE_LTSC2019 ) $(BASE_IMAGE_1909 ) $(BASE_IMAGE_2004 ) $(BASE_IMAGE_20H2 )
37
+
29
38
all : gce-pd-driver gce-pd-driver-windows
30
39
gce-pd-driver :
31
40
mkdir -p bin
32
- go build -mod=vendor -ldflags " -X main.version=${ STAGINGVERSION} " -o bin/${DRIVERBINARY} ./cmd/gce-pd-csi-driver/
41
+ go build -mod=vendor -ldflags " -X main.version=$( STAGINGVERSION) " -o bin/${DRIVERBINARY} ./cmd/gce-pd-csi-driver/
33
42
34
43
gce-pd-driver-windows :
35
44
mkdir -p bin
@@ -40,30 +49,41 @@ build-container: require-GCE_PD_CSI_STAGING_IMAGE
40
49
41
50
build-and-push-windows-container-ltsc2019 : require-GCE_PD_CSI_STAGING_IMAGE init-buildx
42
51
$(DOCKER ) buildx build --file=Dockerfile.Windows --platform=windows \
43
- -t $(STAGINGIMAGE ) -ltsc2019 :$(STAGINGVERSION ) --build-arg BASE_IMAGE=servercore \
44
- --build-arg BASE_IMAGE_TAG=ltsc2019 \
52
+ -t $(STAGINGIMAGE ) :$(STAGINGVERSION ) _ltsc2019 \
53
+ --build-arg BASE_IMAGE= $( BASE_IMAGE_LTSC2019 ) \
45
54
--build-arg STAGINGVERSION=$(STAGINGVERSION ) --push .
46
55
47
56
build-and-push-windows-container-1909 : require-GCE_PD_CSI_STAGING_IMAGE init-buildx
48
57
$(DOCKER ) buildx build --file=Dockerfile.Windows --platform=windows \
49
- -t $(STAGINGIMAGE ) -1909:$(STAGINGVERSION ) --build-arg BASE_IMAGE=servercore \
50
- --build-arg BASE_IMAGE_TAG=1909 \
58
+ -t $(STAGINGIMAGE ) :$(STAGINGVERSION ) _1909 \
59
+ --build-arg BASE_IMAGE=$(BASE_IMAGE_1909 ) \
60
+ --build-arg STAGINGVERSION=$(STAGINGVERSION ) --push .
61
+
62
+ build-and-push-windows-container-2004 : require-GCE_PD_CSI_STAGING_IMAGE init-buildx
63
+ $(DOCKER ) buildx build --file=Dockerfile.Windows --platform=windows \
64
+ -t $(STAGINGIMAGE ) :$(STAGINGVERSION ) _2004 \
65
+ --build-arg BASE_IMAGE=$(BASE_IMAGE_2004 ) \
51
66
--build-arg STAGINGVERSION=$(STAGINGVERSION ) --push .
52
67
53
- build-and-push-multi-arch : build-and-push-container-linux build-and-push-windows-container-ltsc2019 build-and-push-windows-container-1909
54
- $(DOCKER ) manifest create --amend $(STAGINGIMAGE ) :$(STAGINGVERSION ) ${STAGINGIMAGE} -linux:${STAGINGVERSION} ${STAGINGIMAGE} -1909:${STAGINGVERSION} ${STAGINGIMAGE} -ltsc2019:${STAGINGVERSION}
55
- STAGINGIMAGE=${STAGINGIMAGE} STAGINGVERSION=${STAGINGVERSION} ./manifest_osversion.sh
68
+ build-and-push-windows-container-20H2 : require-GCE_PD_CSI_STAGING_IMAGE init-buildx
69
+ $(DOCKER ) buildx build --file=Dockerfile.Windows --platform=windows \
70
+ -t $(STAGINGIMAGE ) :$(STAGINGVERSION ) _20H2 \
71
+ --build-arg BASE_IMAGE=$(BASE_IMAGE_20H2 ) \
72
+ --build-arg STAGINGVERSION=$(STAGINGVERSION ) --push .
73
+
74
+ build-and-push-multi-arch : build-and-push-container-linux build-and-push-windows-container-ltsc2019 build-and-push-windows-container-1909 build-and-push-windows-container-2004 build-and-push-windows-container-20H2
75
+ $(DOCKER ) manifest create --amend $(STAGINGIMAGE ) :$(STAGINGVERSION ) $(STAGINGIMAGE ) :$(STAGINGVERSION ) _linux $(STAGINGIMAGE ) :$(STAGINGVERSION ) _20H2 $(STAGINGIMAGE ) :$(STAGINGVERSION ) _2004 $(STAGINGIMAGE ) :$(STAGINGVERSION ) _1909 $(STAGINGIMAGE ) :$(STAGINGVERSION ) _ltsc2019
76
+ STAGINGIMAGE=" $( STAGINGIMAGE) " STAGINGVERSION=" $( STAGINGVERSION) " WINDOWS_IMAGE_TAGS=" $( WINDOWS_IMAGE_TAGS) " WINDOWS_BASE_IMAGES=" $( WINDOWS_BASE_IMAGES) " ./manifest_osversion.sh
56
77
$(DOCKER ) manifest push -p $(STAGINGIMAGE ) :$(STAGINGVERSION )
57
78
58
79
push-container : build-container
59
80
gcloud docker -- push $(STAGINGIMAGE ) :$(STAGINGVERSION )
60
81
61
82
build-and-push-container-linux : require-GCE_PD_CSI_STAGING_IMAGE init-buildx
62
83
$(DOCKER ) buildx build --platform=linux \
63
- -t $(STAGINGIMAGE ) -linux :$(STAGINGVERSION ) \
84
+ -t $(STAGINGIMAGE ) :$(STAGINGVERSION ) _linux \
64
85
--build-arg TAG=$(STAGINGVERSION ) --push .
65
86
66
-
67
87
test-sanity : gce-pd-driver
68
88
go test -mod=vendor --v -timeout 30s sigs.k8s.io/gcp-compute-persistent-disk-csi-driver/test/sanity -run ^TestSanity$
69
89
0 commit comments