@@ -250,34 +250,79 @@ jobs:
250250 cat /tmp/tags | xargs -i bash -c 'printf "%s" "-t {} " >> /tmp/tagargs'
251251 TAG_ARGS="$(cat /tmp/tagargs)"
252252 TAGS="$(cat /tmp/tags)"
253+
254+ # Add version tags for RELEASE branches (e.g., RELEASE_3_21 -> 3.21)
255+ for tag in $TAGS; do
256+ if [[ "$tag" == *"RELEASE_"* ]]; then
257+ # Extract the version number (e.g., RELEASE_3_21 -> 3.21)
258+ VERSION=$(echo "$tag" | sed -E 's/.*RELEASE_([0-9]+)_([0-9]+).*/\1.\2/')
259+ if [ ! -z "$VERSION" ]; then
260+ # Add the numeric version tag (e.g., 3.21)
261+ REGISTRY=$(echo "$tag" | cut -d':' -f1)
262+ TAG_ARGS="$TAG_ARGS -t ${REGISTRY}:${VERSION}"
263+ fi
264+ fi
265+ done
253266
254267 R_VER=$(docker pull ${{ matrix.base.image }}:${{ matrix.base.amdtag }} 2>&1 > /dev/null && \
255268 docker inspect ${{ matrix.base.image }}:${{ matrix.base.amdtag }} | \
256269 jq -r '.[].Config.Env[]|select(match("^R_VERSION"))|.[index("=")+1:]')
257270 if [ ! -z "$R_VER" ]; then
258271 for tag in $TAGS; do
259272 TAG_ARGS="$TAG_ARGS -t ${tag}-R-${R_VER} -t ${tag}-r-${R_VER}"
273+
274+ # For RELEASE branches, also add version-R tags
275+ if [[ "$tag" == *"RELEASE_"* ]]; then
276+ VERSION=$(echo "$tag" | sed -E 's/.*RELEASE_([0-9]+)_([0-9]+).*/\1.\2/')
277+ if [ ! -z "$VERSION" ]; then
278+ REGISTRY=$(echo "$tag" | cut -d':' -f1)
279+ TAG_ARGS="$TAG_ARGS -t ${REGISTRY}:${VERSION}-R-${R_VER} -t ${REGISTRY}:${VERSION}-r-${R_VER}"
280+ fi
281+ fi
260282 done
261283 fi
262284
263285 # Add alternative tags without _docker in name
264286 if [[ "${{ matrix.base.outname }}" == *"_docker"* ]]; then
265- ALT_TAG=$(echo $TAG_ARGS | sed 's/_docker//g')
266- TAG_ARGS="$TAG_ARGS $ALT_TAG"
267- fi
268-
269- # Add alternative tags without RELEASE_ in the tag
270- if grep -q "RELEASE_" <<< "$TAG_ARGS"; then
271- ALT_TAG=$(echo $TAG_ARGS | sed -E 's/RELEASE_([0-9]+)_([0-9]+)/\1.\2/g')
272- TAG_ARGS="$TAG_ARGS $ALT_TAG"
287+ for tag in $TAGS; do
288+ # Extract registry and branch/version from tag
289+ REGISTRY=$(echo "$tag" | cut -d':' -f1)
290+ VERSION=$(echo "$tag" | cut -d':' -f2)
291+
292+ # Create new registry without _docker suffix
293+ NEW_REGISTRY=$(echo "$REGISTRY" | sed 's/_docker//g')
294+
295+ # Add tag without _docker in name
296+ TAG_ARGS="$TAG_ARGS -t ${NEW_REGISTRY}:${VERSION}"
297+
298+ # If it's a release branch, also add the numeric version tag
299+ if [[ "$VERSION" == RELEASE_* ]]; then
300+ NUM_VERSION=$(echo "$VERSION" | sed -E 's/RELEASE_([0-9]+)_([0-9]+).*/\1.\2/')
301+ if [ ! -z "$NUM_VERSION" ]; then
302+ TAG_ARGS="$TAG_ARGS -t ${NEW_REGISTRY}:${NUM_VERSION}"
303+ fi
304+ fi
305+
306+ # If R_VER exists, add R version tags for the non-_docker version
307+ if [ ! -z "$R_VER" ]; then
308+ TAG_ARGS="$TAG_ARGS -t ${NEW_REGISTRY}:${VERSION}-R-${R_VER} -t ${NEW_REGISTRY}:${VERSION}-r-${R_VER}"
309+
310+ # If it's a release branch, also add R version tags for numeric version
311+ if [[ "$VERSION" == RELEASE_* ]]; then
312+ NUM_VERSION=$(echo "$VERSION" | sed -E 's/RELEASE_([0-9]+)_([0-9]+).*/\1.\2/')
313+ if [ ! -z "$NUM_VERSION" ]; then
314+ TAG_ARGS="$TAG_ARGS -t ${NEW_REGISTRY}:${NUM_VERSION}-R-${R_VER} -t ${NEW_REGISTRY}:${NUM_VERSION}-r-${R_VER}"
315+ fi
316+ fi
317+ fi
318+ done
273319 fi
274320
275- CONTAINERNAME=$(echo '${{ steps.meta1.outputs.tags }}' | awk -F':' '{print $1}')
276-
277321 # Create manifest list
278322 DIGESTS=""
323+ BASE_REGISTRY=$(echo '${{ steps.meta1.outputs.tags }}' | awk -F':' '{print $1}')
279324 for eachdir in $(ls /tmp/digests); do
280- DIGESTS_ARCH=$(cd /tmp/digests/$eachdir && find . -type f -exec echo "$CONTAINERNAME @sha256{}" \; | sed 's/\.\//:/')
325+ DIGESTS_ARCH=$(cd /tmp/digests/$eachdir && find . -type f -exec echo "$BASE_REGISTRY @sha256{}" \; | sed 's/\.\//:/')
281326 DIGESTS="$DIGESTS $DIGESTS_ARCH"
282327 done
283328 echo "$TAG_ARGS"
@@ -286,7 +331,38 @@ jobs:
286331
287332 - name : Inspect images
288333 run : |
289- cat /tmp/tags | xargs -i bash -c 'docker buildx imagetools inspect {}'
334+ # Get registry prefixes
335+ REGISTRY_PREFIXES=$(cat /tmp/tags | awk -F':' '{print $1}' | sort -u)
336+ BRANCH=$(cat /tmp/tags | head -1 | awk -F':' '{print $2}')
337+
338+ # Inspect all created tags
339+ for prefix in $REGISTRY_PREFIXES; do
340+ # Base tag
341+ echo "Inspecting: $prefix:$BRANCH"
342+ docker buildx imagetools inspect "$prefix:$BRANCH"
343+
344+ # Without _docker suffix if applicable
345+ if [[ "${{ matrix.base.outname }}" == *"_docker"* ]]; then
346+ NO_DOCKER_PREFIX=$(echo "$prefix" | sed 's/_docker//g')
347+ echo "Inspecting: $NO_DOCKER_PREFIX:$BRANCH"
348+ docker buildx imagetools inspect "$NO_DOCKER_PREFIX:$BRANCH"
349+ fi
350+
351+ # Version tag for release branches
352+ if [[ "$BRANCH" == RELEASE_* ]]; then
353+ VERSION=$(echo "$BRANCH" | sed -E 's/RELEASE_([0-9]+)_([0-9]+).*/\1.\2/')
354+ if [ ! -z "$VERSION" ]; then
355+ echo "Inspecting: $prefix:$VERSION"
356+ docker buildx imagetools inspect "$prefix:$VERSION"
357+
358+ # Without _docker suffix if applicable
359+ if [[ "${{ matrix.base.outname }}" == *"_docker"* ]]; then
360+ echo "Inspecting: $NO_DOCKER_PREFIX:$VERSION"
361+ docker buildx imagetools inspect "$NO_DOCKER_PREFIX:$VERSION"
362+ fi
363+ fi
364+ fi
365+ done
290366
291367 trigger-extensions :
292368 needs : [merge]
0 commit comments