RO start_build changed to install openmano service
[osm/devops.git] / jenkins / RO / start_build
index 37cdbdf..4c9adfc 100755 (executable)
@@ -1,5 +1,7 @@
 #!/bin/bash
 #
+#   Copyright 2016 Telefónica Investigación y Desarrollo, S.A.U.
+#
 #   Licensed under the Apache License, Version 2.0 (the "License");
 #   you may not use this file except in compliance with the License.
 #   You may obtain a copy of the License at
@@ -12,6 +14,8 @@
 #   See the License for the specific language governing permissions and
 #   limitations under the License.
 # 
+# Authors:
+#    - Gerardo Garcia - gerardo.garciadeblas@telefonica.com
 # 
 
 HERE=$(realpath $(dirname $0))
@@ -23,40 +27,45 @@ export OSM_MDG=RO
 OSM_load_config
 
 
-# Here is an example for how to handle an incremental build
+# Updates all the branches in the local repo (clones if it does not exist)
 if [ -d $OSM_MDG ]; then
-       INFO "reusing existing workspace"
-       cd $OSM_MDG
-        git checkout master  #to make sure that we are in the right branch before pulling the code
-       git pull
-        # TO DO: probably it makes sense to fetch all branches, but this requires creating the branches locally
+    INFO "reusing existing workspace"
+    cd $OSM_MDG
+    git pull --all
+    #git checkout master  #to make sure that we are in the right branch before pulling the code
+    #git pull
 else
-       INFO "cloning MDG $OSM_MDG from $OSM_GIT_URL/$OSM_MDG"
-       git clone $OSM_GIT_URL/$OSM_MDG
-       cd $OSM_MDG
+    INFO "cloning MDG $OSM_MDG from $OSM_GIT_URL/$OSM_MDG"
+    git clone $OSM_GIT_URL/$OSM_MDG
+    cd $OSM_MDG
+    for remote in `git branch -r`; do git branch --track ${remote#origin/} $remote; done
 fi
 
 if [ $# -gt 0 ]; then
+    if [ "$1" = "checkout" ]; then
+        INFO "Code to compile: '$2'"
+        git checkout $2
+    else
         INFO "Code to compile: gerrit refspec '$1', commit-id: '$2'"
-       FATAL "Testing"
-       #git fetch origin $1 || FATAL "git fetch origin '$1' didn't work"
-       #git checkout -f $2 || FATAL "git checkout -f '$2' didn't work"
+        git fetch origin $1 || FATAL "git fetch origin '$1' didn't work"
+        git checkout -f $2 || FATAL "git checkout -f '$2' didn't work"
+    fi
 else
-        INFO "Code to compile: master"
-       git checkout master
+    INFO "Code to compile: master"
+    git checkout master
 fi
 
 INFO "starting build"
 
-### for start_build
-### put your commands here to
-### build, test and produce coverage reports
+INFO "  cleaning .pyc"
+rm -f *.pyc
+INFO "  installing openmano packages and dependencies from current repo (--noclone)"
+./scripts/install-openmano.sh --noclone -q
+INFO "  compiling *.py"
+python -m py_compile *.py   #&&     #uncomment to concatenate commands
+#basic test HERE            #&&     #uncomment to concatenate commands
 
-rm *.pyc
-python -m py_compile *.py
 RC=$?
-git checkout master #Cleaning the environment. It's also done at the beginning, but it's done just in case.
-
 INFO "done, RC=$RC"
 exit $RC