| #!/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 |
| |
| # stage and add the build SSH key |
| chmod 600 id_rsa.pub |
| ssh-add id_rsa.pub |
| |
| # Add the javadoc server to the list of known hosts |
| ssh-keyscan -H -t rsa api.onosproject.org >>~/.ssh/known_hosts |
| |
| # set user to use for uploading javadocs |
| WIKI_USER="jenkins" |
| export WIKI_USER |
| |
| # 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} |