blob: 82a1d78cb25787594bbe0575ece75242d42055af [file] [log] [blame]
Ray Milkey3b66abc2018-08-13 15:12:45 -07001#!/bin/bash -ex
Ray Milkey7c8b3f22018-08-13 15:01:12 -07002
3# exit on errors
4set -eu -o pipefail
5
Ray Milkey7c8b3f22018-08-13 15:01:12 -07006ONOS_ROOT=`pwd`
7. tools/build/envDefaults
8
Ray Milkey3b66abc2018-08-13 15:12:45 -07009PATH=$PATH:/home/jenkins/bin
10
Ray Milkey4e5e77a2019-11-15 12:52:21 -080011# set up JDK 11 if needed
12if [ ${GERRIT_BRANCH} == "master" -o ${GERRIT_BRANCH} == "onos-2.2" ]
13then
14 echo Installing OPEN JDK 11
15 sudo update-java-alternatives -s java-11-amazon-corretto
16 java -version
17else
18 echo Using default JDK
19fi
20
Ray Milkey7c8b3f22018-08-13 15:01:12 -070021# import GPG key
22gpg --import jenkins.key
23
24# set up release build credentials
25. onos-build-credentials
26
27# configure git settings
28git config user.email "jenkins@onlab.us"
29git config user.name "ONOS Jenkins User"
30
Ray Milkey7c8b3f22018-08-13 15:01:12 -070031# stage the maven settings
32mkdir -p ~/.m2
33mv settings.xml ~/.m2/settings.xml
34
Ray Milkey7c8b3f22018-08-13 15:01:12 -070035# set user to use for uploading javadocs
36WIKI_USER="jenkins"
37export WIKI_USER
38
Ray Milkey7c8b3f22018-08-13 15:01:12 -070039# lock gerrit to prevent checkins
Carmelo Casconeb603a712020-07-30 10:55:28 -070040# FIXME: re-enable locking when projectlock will be added to new ONOS gerrit
41# or change the release process to tag a specific commit instead of the whole branch
42# ssh -p 29418 gerrit.onosproject.org projectlock lock onos ${GERRIT_BRANCH}
Ray Milkey7c8b3f22018-08-13 15:01:12 -070043
44# unlock on exit
Carmelo Casconeb603a712020-07-30 10:55:28 -070045# trap "ssh -p 29418 gerrit.onosproject.org projectlock unlock onos ${GERRIT_BRANCH}" EXIT
Ray Milkey7c8b3f22018-08-13 15:01:12 -070046
47# get the sources
48git checkout $GERRIT_BRANCH
49
50# run the build
51onos-build-and-upload ${ONOS_VERSION} ${ONOS_NEXT_VERSION} ${GERRIT_BRANCH}
Zack Williamse3683182022-07-29 11:34:26 -070052
53# upload API docs
54BUILD_OUTPUT_PATH=${ONOS_ROOT}/bazel-bin/docs/tmp
55
56SYNC_TARGET_SERVER=static.opennetworking.org
57SYNC_TARGET_PATH=/srv/sites/api.onosproject.org/${ONOS_VERSION}
58
59rsync -rvzh --delete-after --exclude=.git "$BUILD_OUTPUT_PATH" "$SYNC_TARGET_SERVER:$SYNC_TARGET_PATH"