blob: b195c743ba8ea38257bb7abbf4e2346bb6619ad6 [file] [log] [blame]
#!/bin/bash -e
# exit on errors
set -eu -o pipefail
# set up ONOS build environment
ONOS_ROOT=`pwd`
. tools/build/envDefaults
PATH=$PATH:/home/jenkins/bin
# set up JDK 11 if needed
if [ ${GERRIT_BRANCH} == "master" -o ${GERRIT_BRANCH} == "onos-2.2" ]
then
echo Installing OPEN JDK 11
sudo update-java-alternatives -s java-11-amazon-corretto
java -version
else
echo Using default JDK
fi
# import GPG key
gpg --import jenkins.key
# set up release build credentials
. onos-build-credentials
# configure git settings
git config user.email "jenkins@onlab.us"
git config user.name "ONOS Jenkins User"
# install boto
pip install -U boto
# stage the maven settings
mkdir -p ~/.m2
mv settings.xml ~/.m2/settings.xml
# set user to use for uploading javadocs
WIKI_USER="jenkins"
export WIKI_USER
# 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
# lock gerrit to prevent checkins
# ssh -p 29418 gerrit.onosproject.org projectlock lock onos ${GERRIT_BRANCH}
# unlock on exit
# trap "ssh -p 29418 gerrit.onosproject.org projectlock unlock onos ${GERRIT_BRANCH}" EXIT
# get the sources
git checkout $GERRIT_BRANCH
# run the build
onos-build-and-upload ${ONOS_VERSION} ${ONOS_NEXT_VERSION} ${GERRIT_BRANCH}
# upload API docs
BUILD_OUTPUT_PATH=${ONOS_ROOT}/bazel-bin/docs/tmp
SYNC_TARGET_SERVER=static.opennetworking.org
SYNC_TARGET_PATH=/srv/sites/api.onosproject.org/${ONOS_VERSION}
rsync -rvzh --delete-after --exclude=.git "$BUILD_OUTPUT_PATH" "$SYNC_TARGET_SERVER:$SYNC_TARGET_PATH"