@@ -17,7 +17,16 @@ MAKEFILE_PATH = $(dir $(realpath -s $(firstword $(MAKEFILE_LIST))))
1717BUILD_DIR_PATH = ${MAKEFILE_PATH}/build
1818BIN_DIR = ${MAKEFILE_PATH}/bin
1919SUPPORTED_PLATFORMS_LINUX ?= "linux/amd64,linux/arm64"
20- SUPPORTED_PLATFORMS_WINDOWS ?= "windows/amd64"
20+
21+ # Each windows version needs a separate make target because each build
22+ # needs to happen on a separate GitHub runner
23+ # A windows version is specified by major-minor-build-revision.
24+ # The build number of the OS must match the build number of the container image
25+ # The revision does not matter for windows 2019 and 2022.
26+ # Reference: https://learn.microsoft.com/en-us/virtualization/windowscontainers/deploy-containers/version-compatibility
27+ WINDOWS_2019 ?= "windows-10.0.17763.6189/amd64"
28+ WINDOWS_2022 ?= "windows-10.0.20348.2582/amd64"
29+
2130BINARY_NAME ?= "node-termination-handler"
2231THIRD_PARTY_LICENSES = "${MAKEFILE_PATH}/THIRD_PARTY_LICENSES.md"
2332GOLICENSES = $(BIN_DIR ) /go-licenses
@@ -48,18 +57,32 @@ docker-run:
4857build-docker-images :
4958 ${MAKEFILE_PATH} /scripts/build-docker-images -p ${SUPPORTED_PLATFORMS_LINUX} -r ${IMG} -v ${VERSION}
5059
51- build-docker-images-windows :
52- ${MAKEFILE_PATH} /scripts/build-docker-images -p ${SUPPORTED_PLATFORMS_WINDOWS} -r ${IMG} -v ${VERSION}
60+ build-docker-images-windows-2019 :
61+ ${MAKEFILE_PATH} /scripts/build-docker-images -p ${WINDOWS_2019} -r ${IMG} -v ${VERSION}
62+
63+ build-docker-images-windows-2022 :
64+ ${MAKEFILE_PATH} /scripts/build-docker-images -p ${WINDOWS_2022} -r ${IMG} -v ${VERSION}
65+
66+ ecr-public-login :
67+ @ECR_REGISTRY=${ECR_REGISTRY} ${MAKEFILE_PATH} /scripts/ecr-public-login
5368
5469push-docker-images :
5570 ${MAKEFILE_PATH} /scripts/retag-docker-images -p ${SUPPORTED_PLATFORMS_LINUX} -v ${VERSION} -o ${IMG} -n ${ECR_REPO}
5671 @ECR_REGISTRY=${ECR_REGISTRY} ${MAKEFILE_PATH} /scripts/ecr-public-login
5772 ${MAKEFILE_PATH} /scripts/push-docker-images -p ${SUPPORTED_PLATFORMS_LINUX} -r ${ECR_REPO} -v ${VERSION} -m
5873
59- push-docker-images-windows :
60- ${MAKEFILE_PATH} /scripts/retag-docker-images -p ${SUPPORTED_PLATFORMS_WINDOWS} -v ${VERSION} -o ${IMG} -n ${ECR_REPO}
74+ amazon-ecr-credential-helper :
6175 bash ${MAKEFILE_PATH} /scripts/install-amazon-ecr-credential-helper $(AMAZON_ECR_CREDENTIAL_HELPER_VERSION )
62- ${MAKEFILE_PATH} /scripts/push-docker-images -p ${SUPPORTED_PLATFORMS_WINDOWS} -r ${ECR_REPO} -v ${VERSION} -m
76+
77+ push-docker-images-windows-2019 :
78+ ${MAKEFILE_PATH} /scripts/retag-docker-images -p ${WINDOWS_2019} -v ${VERSION} -o ${IMG} -n ${ECR_REPO}
79+ bash ${MAKEFILE_PATH} /scripts/install-amazon-ecr-credential-helper $(AMAZON_ECR_CREDENTIAL_HELPER_VERSION )
80+ ${MAKEFILE_PATH} /scripts/push-docker-images -p ${WINDOWS_2019} -r ${ECR_REPO} -v ${VERSION} -m
81+
82+ push-docker-images-windows-2022 :
83+ ${MAKEFILE_PATH} /scripts/retag-docker-images -p ${WINDOWS_2022} -v ${VERSION} -o ${IMG} -n ${ECR_REPO}
84+ bash ${MAKEFILE_PATH} /scripts/install-amazon-ecr-credential-helper $(AMAZON_ECR_CREDENTIAL_HELPER_VERSION )
85+ ${MAKEFILE_PATH} /scripts/push-docker-images -p ${WINDOWS_2022} -r ${ECR_REPO} -v ${VERSION} -m
6386
6487push-helm-chart :
6588 @ECR_REGISTRY=${ECR_REGISTRY} ${MAKEFILE_PATH} /scripts/helm-login
@@ -122,8 +145,11 @@ helm-validate-chart-versions:
122145build-binaries :
123146 ${MAKEFILE_PATH} /scripts/build-binaries -p ${SUPPORTED_PLATFORMS_LINUX} -v ${VERSION}
124147
125- build-binaries-windows :
126- ${MAKEFILE_PATH} /scripts/build-binaries -p ${SUPPORTED_PLATFORMS_WINDOWS} -v ${VERSION}
148+ build-binaries-windows-2019 :
149+ ${MAKEFILE_PATH} /scripts/build-binaries -p ${WINDOWS_2019} -v ${VERSION}
150+
151+ build-binaries-windows-2022 :
152+ ${MAKEFILE_PATH} /scripts/build-binaries -p ${WINDOWS_2022} -v ${VERSION}
127153
128154upload-resources-to-github :
129155 ${MAKEFILE_PATH} /scripts/upload-resources-to-github
@@ -165,7 +191,9 @@ eks-cluster-test:
165191
166192release : build-binaries build-docker-images push-docker-images generate-k8s-yaml upload-resources-to-github
167193
168- release-windows : build-binaries-windows build-docker-images-windows push-docker-images-windows
194+ release-windows-2019 : build-binaries-windows-2019 build-docker-images-windows-2019 push-docker-images-windows-2019
195+
196+ release-windows-2022 : build-binaries-windows-2022 build-docker-images-windows-2022 push-docker-images-windows-2022
169197
170198test : spellcheck shellcheck unit-test e2e-test compatibility-test license-test go-linter helm-version-sync-test helm-lint
171199
0 commit comments