@@ -17,7 +17,16 @@ MAKEFILE_PATH = $(dir $(realpath -s $(firstword $(MAKEFILE_LIST))))
17
17
BUILD_DIR_PATH = ${MAKEFILE_PATH}/build
18
18
BIN_DIR = ${MAKEFILE_PATH}/bin
19
19
SUPPORTED_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
+
21
30
BINARY_NAME ?= "node-termination-handler"
22
31
THIRD_PARTY_LICENSES = "${MAKEFILE_PATH}/THIRD_PARTY_LICENSES.md"
23
32
GOLICENSES = $(BIN_DIR ) /go-licenses
@@ -48,18 +57,32 @@ docker-run:
48
57
build-docker-images :
49
58
${MAKEFILE_PATH} /scripts/build-docker-images -p ${SUPPORTED_PLATFORMS_LINUX} -r ${IMG} -v ${VERSION}
50
59
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
53
68
54
69
push-docker-images :
55
70
${MAKEFILE_PATH} /scripts/retag-docker-images -p ${SUPPORTED_PLATFORMS_LINUX} -v ${VERSION} -o ${IMG} -n ${ECR_REPO}
56
71
@ECR_REGISTRY=${ECR_REGISTRY} ${MAKEFILE_PATH} /scripts/ecr-public-login
57
72
${MAKEFILE_PATH} /scripts/push-docker-images -p ${SUPPORTED_PLATFORMS_LINUX} -r ${ECR_REPO} -v ${VERSION} -m
58
73
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 :
61
75
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
63
86
64
87
push-helm-chart :
65
88
@ECR_REGISTRY=${ECR_REGISTRY} ${MAKEFILE_PATH} /scripts/helm-login
@@ -122,8 +145,11 @@ helm-validate-chart-versions:
122
145
build-binaries :
123
146
${MAKEFILE_PATH} /scripts/build-binaries -p ${SUPPORTED_PLATFORMS_LINUX} -v ${VERSION}
124
147
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}
127
153
128
154
upload-resources-to-github :
129
155
${MAKEFILE_PATH} /scripts/upload-resources-to-github
@@ -165,7 +191,9 @@ eks-cluster-test:
165
191
166
192
release : build-binaries build-docker-images push-docker-images generate-k8s-yaml upload-resources-to-github
167
193
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
169
197
170
198
test : spellcheck shellcheck unit-test e2e-test compatibility-test license-test go-linter helm-version-sync-test helm-lint
171
199
0 commit comments