| Jeremy Mordkoff | f13ff90 | 2016-07-06 18:01:08 -0400 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | # Copyright 2016 RIFT.IO Inc |
| 3 | # |
| 4 | # Licensed under the Apache License, Version 2.0 (the "License"); |
| 5 | # you may not use this file except in compliance with the License. |
| 6 | # You may obtain a copy of the License at |
| 7 | # |
| 8 | # http://www.apache.org/licenses/LICENSE-2.0 |
| 9 | # |
| 10 | # Unless required by applicable law or agreed to in writing, software |
| 11 | # distributed under the License is distributed on an "AS IS" BASIS, |
| 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 13 | # See the License for the specific language governing permissions and |
| 14 | # limitations under the License. |
| 15 | # |
| 16 | # TEMPLATE script to start a build. This is run inside a container |
| 17 | # |
| 18 | # 6 July 2016 -- Jeremy.Mordkoff@riftio.com -- adapted from the riftware version |
| 19 | # |
| 20 | |
| 21 | HERE=$(realpath $(dirname $0)) |
| 22 | OSM_JENKINS=$(dirname $HERE) |
| 23 | . $OSM_JENKINS/common/all_funcs |
| 24 | |
| 25 | # SET YOU MDG repository name here |
| 26 | export OSM_MDG=XXXX |
| 27 | OSM_load_config |
| 28 | |
| 29 | |
| 30 | # Here is an example for how to handle an incremental build |
| 31 | if [ -d $OSM_MDG ]; then |
| 32 | INFO "reusing existing workspace" |
| 33 | cd $OSM_MDG |
| 34 | git pull |
| 35 | else |
| 36 | INFO "cloning MDG $OSM_MDG from $OSM_GIT_URL/$OSM_MDG" |
| 37 | git clone $OSM_GIT_URL/$OSM_MDG |
| 38 | cd $OSM_MDG |
| 39 | fi |
| Jeremy Mordkoff | f13ff90 | 2016-07-06 18:01:08 -0400 | [diff] [blame] | 40 | |
| Jeremy Mordkoff | 9713ede | 2016-09-08 14:24:27 -0400 | [diff] [blame] | 41 | # Gerrit arranges to call this script with two parameters -- the refspec and commit ID that needs to be built |
| 42 | if [ $# -gt 0 ]; then |
| 43 | INFO "Code to compile: gerrit refspec '$1', commit-id: '$2'" |
| 44 | git fetch origin $1 || FATAL "git fetch origin '$1' didn't work" |
| 45 | git checkout -f $2 || FATAL "git checkout -f '$2' didn't work" |
| 46 | else |
| 47 | INFO "Code to compile: master" |
| 48 | git checkout master |
| 49 | fi |
| 50 | |
| 51 | INFO "starting build" |
| Jeremy Mordkoff | f13ff90 | 2016-07-06 18:01:08 -0400 | [diff] [blame] | 52 | ### for start_build |
| 53 | ### put your commands here to |
| 54 | ### build, test and produce coverage reports |
| Jeremy Mordkoff | 9713ede | 2016-09-08 14:24:27 -0400 | [diff] [blame] | 55 | # E.G. |
| 56 | #make clean || FATAL "make clean failed" |
| 57 | #make || FATAL "make failed" |
| 58 | #sudo make install || FATAL "make install failed" |
| Jeremy Mordkoff | f13ff90 | 2016-07-06 18:01:08 -0400 | [diff] [blame] | 59 | |
| Jeremy Mordkoff | 1921538 | 2016-07-06 18:17:46 -0400 | [diff] [blame] | 60 | RC=0 |
| Jeremy Mordkoff | f13ff90 | 2016-07-06 18:01:08 -0400 | [diff] [blame] | 61 | |
| Jeremy Mordkoff | 1921538 | 2016-07-06 18:17:46 -0400 | [diff] [blame] | 62 | INFO "done, RC=$RC" |
| 63 | exit $RC |
| Jeremy Mordkoff | f13ff90 | 2016-07-06 18:01:08 -0400 | [diff] [blame] | 64 | |
| 65 | |