Check for tagged release
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user