@@ -53,8 +53,10 @@ function is_dockerfile_fresh() {
53
53
function build_ansible_base() {
54
54
local tag=$1
55
55
local platforms=$2
56
+ local buildlatest=$3
56
57
local dockerfile=./images/ansible-operator/base.Dockerfile
57
58
59
+
58
60
git checkout refs/tags/$tag
59
61
local ansible_base_image_tag=$( grep -oP ' FROM \K(quay\.io/operator-framework/ansible-operator-base:.+)' ./images/ansible-operator/Dockerfile)
60
62
# Attempt to get the git ref that built this image from the git_commit image label,
@@ -69,8 +71,13 @@ function build_ansible_base() {
69
71
echo " Skipping build of $dockerfile , it is FRESH!"
70
72
else
71
73
# dockerfile is not fresh, rebuildng image
72
- echo " Rebuilding image [$ansible_base_image_tag ] for [$platforms ]"
73
- _buildx --tag $ansible_base_image_tag --platform " $platforms " --file " $dockerfile " $IMAGE_DO --build-arg GIT_COMMIT=$ansible_base_git_ref ./images/ansible-operator
74
+ if $buildlatest ; then
75
+ echo " Rebuilding image [$ansible_base_image_tag ] and latest for [$platforms ]"
76
+ _buildx --tag $ansible_base_image_tag --tag quay.io/operator-framework/ansible-operator-base:latest --platform " $platforms " --file " $dockerfile " $IMAGE_DO --build-arg GIT_COMMIT=$ansible_base_git_ref ./images/ansible-operator
77
+ else
78
+ echo " Rebuilding image [$ansible_base_image_tag ] for [$platforms ]"
79
+ _buildx --tag $ansible_base_image_tag --platform " $platforms " --file " $dockerfile " $IMAGE_DO --build-arg GIT_COMMIT=$ansible_base_git_ref ./images/ansible-operator
80
+ fi
74
81
fi
75
82
}
76
83
@@ -82,16 +89,23 @@ function build_generic() {
82
89
local tag=$1
83
90
local id=$2
84
91
local platforms=$3
92
+ local buildlatest=$4
85
93
local tag_maj_min=" quay.io/operator-framework/${id} :$( echo $tag | grep -Eo " v[1-9]+\.[0-9]+" ) "
86
94
local tag_full=" quay.io/operator-framework/${id} :${tag} "
95
+ local tag_latest=" quay.io/operator-framework/${id} :latest"
87
96
local dockerfile=./images/${id} /Dockerfile
88
97
89
98
git checkout refs/tags/$tag
90
99
if is_dockerfile_fresh " $dockerfile " ; then
91
100
echo " Skipping build of $dockerfile , it is FRESH!"
92
101
else
93
102
# dockerfile is not fresh, rebuildng image
94
- echo " Rebuilding image [$tag_maj_min ] for [$platforms ]"
95
- _buildx --builder=container --tag " $tag_maj_min " --tag " $tag_full " --platform " $platforms " --file " $dockerfile " $IMAGE_DO .
103
+ if $buildlatest ; then
104
+ echo " Rebuilding image [$tag_maj_min ] and latest for [$platforms ]"
105
+ _buildx --builder=container --tag " $tag_maj_min " --tag " $tag_full " --tag " $tag_latest " --platform " $platforms " --file " $dockerfile " $IMAGE_DO .
106
+ else
107
+ echo " Rebuilding image [$tag_maj_min ] for [$platforms ]"
108
+ _buildx --builder=container --tag " $tag_maj_min " --tag " $tag_full " --platform " $platforms " --file " $dockerfile " $IMAGE_DO .
109
+ fi
96
110
fi
97
111
}
0 commit comments