fix(runtime build): only check for image exist on exact hash tag (#4152)

This commit is contained in:
Xingyao Wang 2024-10-01 17:20:25 -05:00 committed by GitHub
parent 04643d6f3c
commit 3cf794faef
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -60,7 +60,7 @@ class DockerRuntimeBuilder(RuntimeBuilder):
target_image_tag = tags[1].split(':')[1] if len(tags) > 1 else None
# Check if the image exists and pull if necessary
self.image_exists(target_image_repo)
self.image_exists(target_image_hash_name)
buildx_cmd = [
'docker',
@ -186,9 +186,7 @@ class DockerRuntimeBuilder(RuntimeBuilder):
return True
except docker.errors.ImageNotFound:
if not pull_from_repo:
logger.debug(
f'Image {image_name} not found locally'
)
logger.debug(f'Image {image_name} not found locally')
return False
try:
logger.debug(
@ -197,8 +195,15 @@ class DockerRuntimeBuilder(RuntimeBuilder):
layers: dict[str, dict[str, str]] = {}
previous_layer_count = 0
if ':' in image_name:
image_repo, image_tag = image_name.split(':', 1)
else:
image_repo = image_name
image_tag = None
for line in self.docker_client.api.pull(
image_name, stream=True, decode=True
image_repo, tag=image_tag, stream=True, decode=True
):
self._output_build_progress(line, layers, previous_layer_count)
previous_layer_count = len(layers)