@@ -27,17 +27,33 @@ while [ $# -gt 0 ]; do
27
27
esac
28
28
done
29
29
30
+ docker_cmd () {
31
+ retries=3
32
+ for (( i= 1 ; i<= retries; i++ )) ; do
33
+ set +o errexit
34
+ docker $@
35
+ res=$?
36
+ set -o errexit
37
+ if [ $res -eq 0 ]; then
38
+ break
39
+ fi
40
+ echo " Docker command failed. Retrying in 5 seconds..."
41
+ sleep 5
42
+ done
43
+ return $res
44
+ }
45
+
30
46
push_image () {
31
47
local image=" $1 "
32
48
33
49
for arch in amd64 arm64; do \
34
50
echo " Pushing ${image} -linux:${IMAGE_TAG} -$arch "
35
- docker tag ${image} :${IMAGE_TAG} -$arch ${image} -linux:${IMAGE_TAG} -$arch
36
- docker push ${image} -linux:${IMAGE_TAG} -$arch
51
+ docker_cmd tag ${image} :${IMAGE_TAG} -$arch ${image} -linux:${IMAGE_TAG} -$arch
52
+ docker_cmd push ${image} -linux:${IMAGE_TAG} -$arch
37
53
done ;
38
54
39
- docker manifest create ${image} :${IMAGE_TAG} --amend ${image} -linux:${IMAGE_TAG} -amd64 --amend ${image} -linux:${IMAGE_TAG} -arm64
40
- docker manifest push ${image} :${IMAGE_TAG}
55
+ docker_cmd manifest create ${image} :${IMAGE_TAG} --amend ${image} -linux:${IMAGE_TAG} -amd64 --amend ${image} -linux:${IMAGE_TAG} -arm64
56
+ docker_cmd manifest push ${image} :${IMAGE_TAG}
41
57
42
58
43
59
if [ -n " ${NO_QUAY} " ]; then
@@ -47,14 +63,14 @@ push_image() {
47
63
# remove the quay prefix and push to docker hub
48
64
docker_hub_image=${image# $QUAY_PREFIX }
49
65
for arch in amd64 arm64; do \
50
- docker tag ${image} :${IMAGE_TAG} -$arch ${docker_hub_image} -linux:${IMAGE_TAG} -$arch
66
+ docker_cmd tag ${image} :${IMAGE_TAG} -$arch ${docker_hub_image} -linux:${IMAGE_TAG} -$arch
51
67
52
68
echo " Pushing ${docker_hub_image} -linux:${IMAGE_TAG} -$arch "
53
- docker push ${docker_hub_image} -linux:${IMAGE_TAG} -$arch
69
+ docker_cmd push ${docker_hub_image} -linux:${IMAGE_TAG} -$arch
54
70
done ;
55
71
56
- docker manifest create ${docker_hub_image} :${IMAGE_TAG} --amend ${docker_hub_image} -linux:${IMAGE_TAG} -amd64 --amend ${docker_hub_image} -linux:${IMAGE_TAG} -arm64
57
- docker manifest push ${docker_hub_image} :${IMAGE_TAG}
72
+ docker_cmd manifest create ${docker_hub_image} :${IMAGE_TAG} --amend ${docker_hub_image} -linux:${IMAGE_TAG} -amd64 --amend ${docker_hub_image} -linux:${IMAGE_TAG} -arm64
73
+ docker_cmd manifest push ${docker_hub_image} :${IMAGE_TAG}
58
74
}
59
75
60
76
for image in ${IMAGES} ; do
0 commit comments