prysm-pulse/hack/tag-versioned-docker-images.sh
Raul Jordan 8df96426ef
Move Scripts Into Hack/ Directory (#9605)
* ensure build

* moved third party to toplevel:

Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2021-09-16 16:22:39 +00:00

67 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
# This script is used to tag docker images with a specific commit or tag the
# docker images as ":stable" with the --stable flag.
# List of docker tags to update with git versioned tag.
DOCKER_IMAGES=(
# Beacon chain images
"gcr.io/prysmaticlabs/prysm/beacon-chain"
"index.docker.io/prysmaticlabs/prysm-beacon-chain"
# Validator images
"gcr.io/prysmaticlabs/prysm/validator"
"index.docker.io/prysmaticlabs/prysm-validator"
# Slasher images
"gcr.io/prysmaticlabs/prysm/slasher"
"index.docker.io/prysmaticlabs/prysm-slasher"
)
# Check that the current commit has an associated git tag.
TAG=$(git describe --tags HEAD)
TAG_COMMIT=$(git rev-list -n 1 "$TAG")
CURRENT_COMMIT=$(git rev-parse HEAD)
if [ "$TAG_COMMIT" != "$CURRENT_COMMIT" ]
then
echo "Current commit does not have an associated tag."
exit 1
fi
TAG_AS_STABLE=0
for arg in "$@"
do
case $arg in
-s|--stable)
TAG_AS_STABLE=1
shift # Remove --stable from processing
;;
*)
OTHER_ARGUMENTS+=("$1")
shift # Remove generic argument from processing
;;
esac
done
if [ "$TAG_AS_STABLE" = "1" ]
then
TAG="stable"
fi
HEAD=HEAD-$(git rev-parse --short=6 HEAD)
for image in "${DOCKER_IMAGES[@]}"
do
SRC="$image:$HEAD"
DST="$image:$TAG"
echo "Pulling $SRC"
docker pull "$SRC"
echo "Tagging $SRC as $DST"
docker tag "$SRC" "$DST"
echo "Pushing $DST"
docker push "$DST"
done
exit 0