@@ -26,10 +26,19 @@ DRIVERWINDOWSBINARY=${DRIVERBINARY}.exe
2626
2727DOCKER=DOCKER_CLI_EXPERIMENTAL =enabled docker
2828
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+
2938all : gce-pd-driver gce-pd-driver-windows
3039gce-pd-driver :
3140 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/
3342
3443gce-pd-driver-windows :
3544 mkdir -p bin
@@ -40,30 +49,41 @@ build-container: require-GCE_PD_CSI_STAGING_IMAGE
4049
4150build-and-push-windows-container-ltsc2019 : require-GCE_PD_CSI_STAGING_IMAGE init-buildx
4251 $(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 ) \
4554 --build-arg STAGINGVERSION=$(STAGINGVERSION ) --push .
4655
4756build-and-push-windows-container-1909 : require-GCE_PD_CSI_STAGING_IMAGE init-buildx
4857 $(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 ) \
5166 --build-arg STAGINGVERSION=$(STAGINGVERSION ) --push .
5267
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
5677 $(DOCKER ) manifest push -p $(STAGINGIMAGE ) :$(STAGINGVERSION )
5778
5879push-container : build-container
5980 gcloud docker -- push $(STAGINGIMAGE ) :$(STAGINGVERSION )
6081
6182build-and-push-container-linux : require-GCE_PD_CSI_STAGING_IMAGE init-buildx
6283 $(DOCKER ) buildx build --platform=linux \
63- -t $(STAGINGIMAGE ) -linux :$(STAGINGVERSION ) \
84+ -t $(STAGINGIMAGE ) :$(STAGINGVERSION ) _linux \
6485 --build-arg TAG=$(STAGINGVERSION ) --push .
6586
66-
6787test-sanity : gce-pd-driver
6888 go test -mod=vendor --v -timeout 30s sigs.k8s.io/gcp-compute-persistent-disk-csi-driver/test/sanity -run ^TestSanity$
6989
0 commit comments