mik-laj commented on a change in pull request #10368:
URL: https://github.com/apache/airflow/pull/10368#discussion_r473519252
##########
File path: scripts/ci/images/ci_prepare_prod_image_on_ci.sh
##########
@@ -18,4 +18,77 @@
# shellcheck source=scripts/ci/libraries/_script_init.sh
. "$( dirname "${BASH_SOURCE[0]}" )/../libraries/_script_init.sh"
-build_prod_image_on_ci
+# In case GITHUB_REGISTRY_PULL_IMAGE_TAG is different than latest, tries to
pull the image indefinitely
+# skips further image checks - assuming that this is the right image
+function wait_for_prod_images_tag {
+
PROD_IMAGE_TO_WAIT_FOR="${GITHUB_REGISTRY_AIRFLOW_PROD_IMAGE}:${GITHUB_REGISTRY_PULL_IMAGE_TAG}"
+
PROD_BUILD_IMAGE_TO_WAIT_FOR="${GITHUB_REGISTRY_AIRFLOW_PROD_BUILD_IMAGE}:${GITHUB_REGISTRY_PULL_IMAGE_TAG}"
+ echo
+ echo "Waiting for image ${PROD_IMAGE_TO_WAIT_FOR}"
+ echo
+ while true; do
+ docker pull "${PROD_IMAGE_TO_WAIT_FOR}" || true
+ if [[ "$(docker images -q "${PROD_IMAGE_TO_WAIT_FOR}" 2> /dev/null)"
== "" ]]; then
+ echo
+ echo "The image ${PROD_IMAGE_TO_WAIT_FOR} is not yet available.
Waiting"
+ echo
+ sleep 10
+ else
+ echo
+ echo "The image ${PROD_IMAGE_TO_WAIT_FOR} downloaded."
+ echo "Tagging ${PROD_IMAGE_TO_WAIT_FOR} as
${GITHUB_REGISTRY_AIRFLOW_PROD_IMAGE}."
+ docker tag "${PROD_IMAGE_TO_WAIT_FOR}"
"${GITHUB_REGISTRY_AIRFLOW_PROD_IMAGE}"
+ echo "Tagging ${PROD_IMAGE_TO_WAIT_FOR} as ${AIRFLOW_PROD_IMAGE}."
+ docker tag "${PROD_IMAGE_TO_WAIT_FOR}" "${AIRFLOW_PROD_IMAGE}"
+ echo
+ break
+ fi
+ done
+ echo
+ echo "Waiting for image ${PROD_BUILD_IMAGE_TO_WAIT_FOR}"
+ echo
+ while true; do
Review comment:
This and the above loop are very similar. Can this code be generalized?
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]