blob: 373a41b26b24907b755871672ee2e5a29198a614 [file] [log] [blame]
#!/bin/bash
# -----------------------------------------------------------------------------
# Builds an ONOS release
# -----------------------------------------------------------------------------
if [ $# -ne 3 -a $# -ne 4 ]; then
echo "Usage: onos-build-release branch version next-version [--dry-run]"
echo "For example, to build rc2 on the 1.8 branch - onos-build-release onos-1.8 1.8.0-rc2 1.8.0-SNAPSHOT"
exit 1
fi
if [ $# -eq 4 -a "${4}" != "--dry-run" ]; then
echo "$4 is an invalid parameter - only --dry-run allowed"
exit 1
fi
BRANCH=$1
VERSION=$2
NEXT_VERSION=$3
DRY_RUN=$4
set -e
set -x
IS_DRY_RUN=0
if [ "${DRY_RUN}" == "--dry-run" ]; then
IS_DRY_RUN=1
fi
# Check that environment setup is correct
onos-release-prerequisites ${DRY_RUN}
# FIXME: re-enable locking when projectlock will be added to new ONOS gerrit
# or change the release process to tag a specific commit instead of the whole branch
#if [ ${IS_DRY_RUN} -eq 0 ]; then
# # Block commits to Gerrit
# ssh -p 29418 gerrit.onosproject.org projectlock lock onos ${BRANCH}
#fi
# Prepare the build tree
onos-prepare-release $VERSION $BRANCH "onos-build-and-upload $VERSION $NEXT_VERSION $BRANCH $DRY_RUN"
# See FIXME above
#if [ ${IS_DRY_RUN} -eq 0 ]; then
# # Unblock commits
# ssh -p 29418 gerrit.onosproject.org projectlock unlock onos ${BRANCH}
#fi