@@ -36,15 +36,22 @@ export CCM_IMAGE_NAME=azure-cloud-controller-manager
3636export CNM_IMAGE_NAME=azure-cloud-node-manager
3737# cloud node manager windows image version
3838export WINDOWS_IMAGE_VERSION=1809
39- declare -a IMAGES=(" ${CCM_IMAGE_NAME} " " ${CNM_IMAGE_NAME} " )
4039
4140setup () {
42- AZURE_CLOUD_PROVIDER_ROOT=" $( go env GOPATH) /src/sigs.k8s.io/cloud-provider-azure"
43- export AZURE_CLOUD_PROVIDER_ROOT
41+ AZURE_CLOUD_PROVIDER_ROOT=" ${AZURE_CLOUD_PROVIDER_ROOT:- " " } "
42+ if [[ -z " ${AZURE_CLOUD_PROVIDER_ROOT} " ]]; then
43+ AZURE_CLOUD_PROVIDER_ROOT=" $( go env GOPATH) /src/sigs.k8s.io/cloud-provider-azure"
44+ export AZURE_CLOUD_PROVIDER_ROOT
45+ fi
46+
4447 # the azure-cloud-provider repo expects IMAGE_REGISTRY.
4548 export IMAGE_REGISTRY=${REGISTRY}
46- pushd " ${AZURE_CLOUD_PROVIDER_ROOT} " && IMAGE_TAG=$( git rev-parse --short=7 HEAD) && export IMAGE_TAG && popd
47- echo " Image Tag is ${IMAGE_TAG} "
49+ pushd " ${AZURE_CLOUD_PROVIDER_ROOT} " && TAG=$( git rev-parse --short=7 HEAD) &&
50+ IMAGE_TAG_CCM=" ${IMAGE_TAG_CCM:- ${TAG} } " && IMAGE_TAG_CNM=" ${IMAGE_TAG_CNM:- ${TAG} } " &&
51+ export IMAGE_TAG_CCM && export IMAGE_TAG_CNM && popd
52+ echo " Image registry is ${REGISTRY} "
53+ echo " Image Tag CCM is ${IMAGE_TAG_CCM} "
54+ echo " Image Tag CNM is ${IMAGE_TAG_CNM} "
4855
4956 if [[ -n " ${WINDOWS_SERVER_VERSION:- } " ]]; then
5057 if [[ " ${WINDOWS_SERVER_VERSION} " == " windows-2019" ]]; then
@@ -59,23 +66,23 @@ setup() {
5966
6067main () {
6168 if [[ " $( can_reuse_artifacts) " =~ " false" ]]; then
62- echo " Build Linux Azure amd64 cloud controller manager"
69+ echo " Building Linux Azure amd64 cloud controller manager"
6370 make -C " ${AZURE_CLOUD_PROVIDER_ROOT} " build-ccm-image-amd64 push-ccm-image-amd64
6471 echo " Building Linux amd64 and Windows ${WINDOWS_IMAGE_VERSION} amd64 cloud node managers"
65- make -C " ${AZURE_CLOUD_PROVIDER_ROOT} " build-node-image-linux-amd64 push-node-image-linux-amd64 push-node-image-windows-" ${WINDOWS_IMAGE_VERSION} " -amd64 manifest-node-manager-image-windows-" ${WINDOWS_IMAGE_VERSION} " -amd64
72+ make -C " ${AZURE_CLOUD_PROVIDER_ROOT} " build-node-image-linux-amd64 push-node-image-linux-amd64 push-node-image-windows-" ${WINDOWS_IMAGE_VERSION} " -amd64 manifest-node-manager-image-windows-" ${WINDOWS_IMAGE_VERSION} " -amd64
6673 fi
6774}
6875
6976# can_reuse_artifacts returns true if there exists CCM artifacts built from a PR that we can reuse
7077can_reuse_artifacts () {
71- for IMAGE_NAME in " ${IMAGES[@]} " ; do
72- if ! docker pull " ${REGISTRY} /${IMAGE_NAME} :${IMAGE_TAG} " ; then
78+ declare -a IMAGES=(" ${CCM_IMAGE_NAME} :${IMAGE_TAG_CCM} " " ${CNM_IMAGE_NAME} :${IMAGE_TAG_CNM} " )
79+ for IMAGE in " ${IMAGES[@]} " ; do
80+ if ! docker pull " ${REGISTRY} /${IMAGE} " ; then
7381 echo " false" && return
7482 fi
7583 done
7684
77- FULL_VERSION=$( docker manifest inspect mcr.microsoft.com/windows/nanoserver:${WINDOWS_IMAGE_VERSION} | jq -r ' .manifests[0].platform["os.version"]' )
78- if ! docker manifest inspect " ${REGISTRY} /${CNM_IMAGE_NAME} :${IMAGE_TAG} " | grep -q " \" os.version\" : \" ${FULL_VERSION} \" " ; then
85+ if ! docker manifest inspect " ${REGISTRY} /${CNM_IMAGE_NAME} :${IMAGE_TAG_CNM} " | grep -q " \" os.version\" : \" ${WINDOWS_IMAGE_VERSION} \" " ; then
7986 echo " false" && return
8087 fi
8188
0 commit comments