in src/image_transfer.py [0:0]
def main():
"""
Driver function that handles the transfer of all the images from autopatch to beta ECRs.
Gets the list of Image URIs that need to be transferred. Iterates through the list to check if an
image can be transferred or not. Transfers the image in case it can be transferred.
"""
dlc_images = test_utils.get_dlc_images()
image_list = dlc_images.split(" ")
image_transfer_override_flags = get_image_transfer_override_flags_from_s3()
for autopatch_image in image_list:
LOGGER.info(f"[Processing] Image: {autopatch_image}")
autopatch_image_tag_list = pull_image_locally_with_all_its_tags_attached(
image_uri=autopatch_image
)
conduct_initial_verification_to_confirm_if_image_should_be_transferred(
autopatch_image_uri=autopatch_image, autopatch_image_tag_list=autopatch_image_tag_list
)
benchmark_tag_in_beta = get_benchmark_tag_attached_to_the_latest_image_in_beta(
autopatch_image_tag_list=autopatch_image_tag_list
)
beta_latest_benchmark_image_uri = get_benchmark_tested_image_uri_for_beta_image(
autopatch_image_uri=autopatch_image, benchmark_tag_in_beta=benchmark_tag_in_beta
)
if is_image_transferable(
autopatch_image_uri=autopatch_image,
beta_image_uri=beta_latest_benchmark_image_uri,
image_transfer_override_flags=image_transfer_override_flags,
):
autopatch_image_repo = get_repository_uri(image_uri=autopatch_image)
beta_image_repo = get_repository_uri(image_uri=beta_latest_benchmark_image_uri)
transfer_image(
autopatch_image_repo=autopatch_image_repo,
autopatch_image_tag_list=autopatch_image_tag_list,
beta_repo=beta_image_repo,
)
LOGGER.info(f"Transferred image {autopatch_image}")
else:
raise ImageCannotBeTransferredException(
f"Image {autopatch_image} could not be transferred."
)