Skip to content

Commit c979de7

Browse files
authored
Fixes problem with Python image not ready to be pushed (apache#10430)
When we pull image from base registry we should also push it to the GitHub Registry so that we can track the origin of the run. Note that it merely pushes the tag - the image will be directly pulled from the registry so this will only update the tag in registry. Bug introduced in apache#10368
1 parent 7dd6e73 commit c979de7

File tree

3 files changed

+25
-11
lines changed

3 files changed

+25
-11
lines changed

scripts/ci/images/ci_prepare_ci_image_on_ci.sh

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,21 @@ function build_ci_image_on_ci() {
3131
# Pretend that the image was build. We already have image with the right sources baked in!
3232
calculate_md5sum_for_all_files
3333

34-
# Tries to wait for the image indefinitely
34+
# Tries to wait for the images indefinitely
3535
# skips further image checks - since we already have the target image
3636

37-
wait_for_image_tag "${GITHUB_REGISTRY_AIRFLOW_CI_IMAGE}" "${GITHUB_REGISTRY_PULL_IMAGE_TAG}" \
38-
"${GITHUB_REGISTRY_AIRFLOW_CI_IMAGE}" "${AIRFLOW_CI_IMAGE}"
37+
PYTHON_TAG_SUFFIX=""
38+
if [[ ${GITHUB_REGISTRY_PUSH_IMAGE_TAG} != "latest" ]]; then
39+
PYTHON_TAG_SUFFIX="-${GITHUB_REGISTRY_PULL_IMAGE_TAG}"
40+
fi
41+
# first we pull base python image. We will need it to re-push it after master build
42+
# Becoming the new "latest" image for other builds
43+
wait_for_image_tag "${GITHUB_REGISTRY_PYTHON_BASE_IMAGE}" \
44+
"${PYTHON_TAG_SUFFIX}" "${PYTHON_BASE_IMAGE}"
45+
46+
# And then the base image
47+
wait_for_image_tag "${GITHUB_REGISTRY_AIRFLOW_CI_IMAGE}" \
48+
":${GITHUB_REGISTRY_PULL_IMAGE_TAG}" "${AIRFLOW_CI_IMAGE}"
3949

4050
update_all_md5_files
4151
else

scripts/ci/images/ci_prepare_prod_image_on_ci.sh

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,11 @@ function build_prod_images_on_ci() {
3232
# Tries to wait for the image indefinitely
3333
# skips further image checks - since we already have the target image
3434

35-
wait_for_image_tag "${GITHUB_REGISTRY_AIRFLOW_PROD_IMAGE}" "${GITHUB_REGISTRY_PULL_IMAGE_TAG}" \
36-
"${GITHUB_REGISTRY_AIRFLOW_PROD_IMAGE}" "${AIRFLOW_PROD_IMAGE}"
35+
wait_for_image_tag "${GITHUB_REGISTRY_AIRFLOW_PROD_IMAGE}" \
36+
":${GITHUB_REGISTRY_PULL_IMAGE_TAG}" "${AIRFLOW_PROD_IMAGE}"
3737

38-
wait_for_image_tag "${GITHUB_REGISTRY_AIRFLOW_PROD_BUILD_IMAGE}" "${GITHUB_REGISTRY_PULL_IMAGE_TAG}" \
39-
"${GITHUB_REGISTRY_AIRFLOW_PROD_BUILD_IMAGE}" "${AIRFLOW_PROD_BUILD_IMAGE}"
38+
wait_for_image_tag "${GITHUB_REGISTRY_AIRFLOW_PROD_BUILD_IMAGE}" \
39+
":${GITHUB_REGISTRY_PULL_IMAGE_TAG}" "${AIRFLOW_PROD_BUILD_IMAGE}"
4040
fi
4141

4242
build_prod_images

scripts/ci/libraries/_build_images.sh

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -702,14 +702,14 @@ function build_prod_images() {
702702
# Waits for image tag to appear in Github Registry, pulls it and tags with the target tag
703703
# Parameters:
704704
# $1 - image name to wait for
705-
# $2 - tag to wait for
705+
# $2 - suffix of the image to wait for
706706
# $3, $4, ... - target tags to tag the image with
707707
function wait_for_image_tag {
708708
IMAGE_NAME="${1}"
709-
TAG_TO_WAIT_FOR=${2}
709+
IMAGE_SUFFIX=${2}
710710
shift 2
711711

712-
IMAGE_TO_WAIT_FOR="${IMAGE_NAME}:${TAG_TO_WAIT_FOR}"
712+
IMAGE_TO_WAIT_FOR="${IMAGE_NAME}${IMAGE_SUFFIX}"
713713
echo
714714
echo "Waiting for image ${IMAGE_TO_WAIT_FOR}"
715715
echo
@@ -722,8 +722,12 @@ function wait_for_image_tag {
722722
sleep 10
723723
else
724724
echo
725-
echo "The image ${IMAGE_TO_WAIT_FOR} downloaded."
725+
echo "The image ${IMAGE_TO_WAIT_FOR} with '${IMAGE_NAME}' tag"
726726
echo
727+
echo
728+
echo "Tagging ${IMAGE_TO_WAIT_FOR} as ${IMAGE_NAME}."
729+
echo
730+
docker tag "${IMAGE_TO_WAIT_FOR}" "${IMAGE_NAME}"
727731
for TARGET_TAG in "${@}"; do
728732
echo
729733
echo "Tagging ${IMAGE_TO_WAIT_FOR} as ${TARGET_TAG}."

0 commit comments

Comments
 (0)