1
0
intel-media-ffmpeg/scripts/push-image.sh
James Ketrenos 4496a72e89 Updated to latest xe-solutions
Signed-off-by: James Ketrenos <james.p.ketrenos@intel.com>
2020-11-01 22:02:16 -08:00

73 lines
1.7 KiB
Bash
Executable File

#!/bin/bash
# Bring in the variables from SOLUTION file, supporting
# nested substitution
. SOLUTION
VARS=($(sed -nE "s,(^[^#][^=]*).*$,\1,pg" SOLUTION))
for var in ${VARS[@]}; do
export ${var}
done
RELEASE_INFO=${RELEASE_INFO:-N/A}
[[ "${RELEASE_INFO}" == "N/A" ]] && {
TAG=${TAG:-test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d)}
} || {
TAG=${TAG:-test-${OS_DISTRO}-${PACKAGE_STREAM}-${RELEASE_INFO}}
}
if ! docker tag ${CONTAINER}:${TAG} ${REGISTRY_URL}/${CONTAINER}:${TAG}; then
fail "Unable to tag .../${CONTAINER}:${TAG}"
fi
iter=5
while (( iter )); do
echo "Pushing as .../${CONTAINER}:${TAG}"
if docker push ${REGISTRY_URL}/${CONTAINER}:${TAG}; then
break
fi
echo "Unable to tag and push image to ${REGISTRY_URL}."
iter=$((iter-1))
if (( ! iter )); then
fail "No more tries."
fi
echo "Waiting 10s before trying again..."
sleep 10
done
[[ "${TAG}" =~ "test-*" ]] && {
cat << EOM
This image was pushed with the 'test-' tag prefix:
${REGISTRY_URL}/${CONTAINER}:${TAG}
If the image looks good, you can promote this build:
1. Tag the tree it as ${TAG}
git commit -s -a -m "Build of ${TAG/test-}"
git tag -f ${TAG/test-}
2. Remove the 'test-' prefix from the tag:
docker tag ${CONTAINER}:${TAG/test-} ${REGISTRY_URL}/${CONTAINER}:${TAG/test-}
docker push ${REGISTRY_URL}/${CONTAINER}:${TAG/test-}
3. Roll this version to the 'latest':
docker tag ${CONTAINER}:${TAG/test-} ${REGISTRY_URL}/${CONTAINER}:latest-${OS_DISTRO}-${PACKAGE_STREAM}
docker push ${REGISTRY_URL}/${CONTAINER}:latest-${OS_DISTRO}-${PACKAGE_STREAM}
EOM
} || {
cat << EOM
This image was pushed:
${REGISTRY_URL}/${CONTAINER}:${TAG}
EOM
}