Check for tagged release

This commit is contained in:
abejgonzalez
2022-02-11 19:48:09 +00:00
parent 17ba538498
commit 12d4444e3d

View File

@@ -4,6 +4,34 @@
set -e
set -o pipefail
SKIP_VALIDATE=false
function usage
{
echo "Usage: $0 [--skip-validate]"
echo "Initialize Chipyard submodules and setup initial env.sh script."
echo ""
echo " --skip-validate Skip prompt checking for tagged release"
}
while test $# -gt 0
do
case "$1" in
--skip-validate)
SKIP_VALIDATE=true;
;;
-h | -H | --help)
usage
exit 1
;;
*) echo "ERROR: bad argument $1"
usage
exit 2
;;
esac
shift
done
# Check that git version is at least 1.7.8
MYGIT=$(git --version)
MYGIT=${MYGIT#'git version '} # Strip prefix
@@ -17,6 +45,21 @@ if [ "$MINGIT" != "$(echo -e "$MINGIT\n$MYGIT" | sort -V | head -n1)" ]; then
false
fi
# before doing anything verify that you are on a release branch/tag
set +e
tag=$(git describe --exact-match --tags)
tag_ret_code=$?
set -e
if [ $tag_ret_code -ne 0 ]; then
if [ "$SKIP_VALIDATE" = false ]; then
read -p "WARNING: You are not on a tagged release of Chipyard. Type \"ok\" to continue: " validate
[[ $validate == [oO][kK] ]] || exit 3
echo "Setting up non-release Chipyard"
fi
else
echo "Setting up Chipyard $tag"
fi
# On macOS, use GNU readlink from 'coreutils' package in Homebrew/MacPorts
if [ "$(uname -s)" = "Darwin" ] ; then
READLINK=greadlink