blob: 914b640802cc1788db1754d0def09f47ef18724f [file] [log] [blame]
#!/bin/bash
# -----------------------------------------------------------------------------
# Builds an ONOS release
# -----------------------------------------------------------------------------
if [ $# -ne 3 -a $# -ne 4 ]; then
echo "Usage: onos-build-release version next-version branch [--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}
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"
if [ ${IS_DRY_RUN} -eq 0 ]; then
# Unblock commits
ssh -p 29418 gerrit.onosproject.org projectlock unlock onos ${BRANCH}
fi