From 2114dd328f89886ce27e4e572d4fda036a3d85a1 Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Mon, 25 Apr 2022 14:58:22 +0200 Subject: [PATCH] Make container fetching more reliable (#1866) It seems that the GitHub container registry sometimes returns 503 service unavailable temporarily ("Error fetching tags list: invalid status code from registry 503"). Use skopeo's retry mechanism to try up to 5 times before failing. --- .../package/hassio/fetch-container-image.sh | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/buildroot-external/package/hassio/fetch-container-image.sh b/buildroot-external/package/hassio/fetch-container-image.sh index c517b16e9..912fa5d92 100755 --- a/buildroot-external/package/hassio/fetch-container-image.sh +++ b/buildroot-external/package/hassio/fetch-container-image.sh @@ -1,5 +1,9 @@ #!/usr/bin/env bash +set -e +set -u +set -o pipefail + arch=$1 machine=$2 version_json=$3 @@ -7,8 +11,6 @@ image_json_name=$4 dl_dir=$5 dst_dir=$6 -set -e - image_name=$(jq -e -r --arg image_json_name "${image_json_name}" \ --arg arch "${arch}" --arg machine "${machine}" \ '.images[$image_json_name] | sub("{arch}"; $arch) | sub("{machine}"; $machine)' \ @@ -17,7 +19,7 @@ image_tag=$(jq -e -r --arg image_json_name "${image_json_name}" \ '.[$image_json_name]' < "${version_json}") full_image_name="${image_name}:${image_tag}" -image_digest=$(skopeo inspect "docker://${full_image_name}" | jq -r '.Digest') +image_digest=$(skopeo inspect --retry-times=5 "docker://${full_image_name}" | jq -r '.Digest') # Cleanup image name file name use image_file_name="${full_image_name//[:\/]/_}@${image_digest//[:\/]/_}"