RO start_build incorporating GERRIT_REFSPEC and GIT_COMMIT
[osm/devops.git] / jenkins / RO / start_build
1 #!/bin/bash
2 #
3 #   Licensed under the Apache License, Version 2.0 (the "License");
4 #   you may not use this file except in compliance with the License.
5 #   You may obtain a copy of the License at
6 #
7 #       http://www.apache.org/licenses/LICENSE-2.0
8 #
9 #   Unless required by applicable law or agreed to in writing, software
10 #   distributed under the License is distributed on an "AS IS" BASIS,
11 #   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 #   See the License for the specific language governing permissions and
13 #   limitations under the License.
14
15
16
17 HERE=$(realpath $(dirname $0))
18 OSM_JENKINS=$(dirname $HERE)
19 . $OSM_JENKINS/common/all_funcs
20
21 # SET YOU MDG repository name here
22 export OSM_MDG=RO
23 OSM_load_config
24
25
26 # Here is an example for how to handle an incremental build
27 if [ -d $OSM_MDG ]; then
28         INFO "reusing existing workspace"
29         cd $OSM_MDG
30         git checkout master  #to make sure that we are in the right branch before pulling the code
31         git pull
32         # TO DO: probably it makes sense to fetch all branches, but this requires creating the branches locally
33 else
34         INFO "cloning MDG $OSM_MDG from $OSM_GIT_URL/$OSM_MDG"
35         git clone $OSM_GIT_URL/$OSM_MDG
36         cd $OSM_MDG
37 fi
38
39 if [ $# -gt 0 ]; then
40         INFO "Code to compile: gerrit refspec '$1', commit-id: '$2'"
41         git fetch origin $1 || FATAL "git fetch origin '$1' didn't work"
42         git checkout -f $2 || FATAL "git checkout -f '$2' didn't work"
43 else
44         INFO "Code to compile: master"
45         git checkout master
46 fi
47
48 INFO "starting build"
49
50 rm *.pyc
51 python -m py_compile *.py
52 RC=$?
53 git checkout master #Cleaning the environment. It's also done at the beginning, but it's done just in case.
54
55 INFO "done, RC=$RC"
56 exit $RC
57
58