ddc29ef186b69bee778a2468136ec692fc274bcc
[osm/devops.git] / jenkins / RO / start_build
1 #!/bin/bash
2 #
3 #   Copyright 2016 Telefónica Investigación y Desarrollo, S.A.U.
4 #
5 #   Licensed under the Apache License, Version 2.0 (the "License");
6 #   you may not use this file except in compliance with the License.
7 #   You may obtain a copy of the License at
8 #
9 #       http://www.apache.org/licenses/LICENSE-2.0
10 #
11 #   Unless required by applicable law or agreed to in writing, software
12 #   distributed under the License is distributed on an "AS IS" BASIS,
13 #   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 #   See the License for the specific language governing permissions and
15 #   limitations under the License.
16
17 # Authors:
18 #    - Gerardo Garcia - gerardo.garciadeblas@telefonica.com
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=RO
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 checkout master  #to make sure that we are in the right branch before pulling the code
35         git pull
36         # TO DO: probably it makes sense to fetch all branches, but this requires creating the branches locally
37 else
38         INFO "cloning MDG $OSM_MDG from $OSM_GIT_URL/$OSM_MDG"
39         git clone $OSM_GIT_URL/$OSM_MDG
40         cd $OSM_MDG
41 fi
42
43 if [ $# -gt 0 ]; then
44         INFO "Code to compile: gerrit refspec '$1', commit-id: '$2'"
45         git fetch origin $1 || FATAL "git fetch origin '$1' didn't work"
46         git checkout -f $2 || FATAL "git checkout -f '$2' didn't work"
47 else
48         INFO "Code to compile: master"
49         git checkout master
50 fi
51
52 INFO "starting build"
53
54 INFO "  cleaning .pyc"
55 rm *.pyc
56 INFO "  installing openmano packages and dependencies from current repo (--noclone)"
57 ./scripts/install_openmano.sh --noclone -q
58 INFO "  compiling *.py"
59 python -m py_compile *.py
60 RC=$?
61 #git checkout master #Cleaning the environment. It's also done at the beginning, but it's done just in case.
62
63 INFO "done, RC=$RC"
64 exit $RC
65
66