Changes in container funcs to allow options when creating containers, in templates...
[osm/devops.git] / jenkins / RO / start_build
index abcf789..ddc29ef 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))
@@ -27,20 +31,34 @@ OSM_load_config
 if [ -d $OSM_MDG ]; then
        INFO "reusing existing workspace"
        cd $OSM_MDG
-       git pull 
+        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
 else
        INFO "cloning MDG $OSM_MDG from $OSM_GIT_URL/$OSM_MDG"
        git clone $OSM_GIT_URL/$OSM_MDG
        cd $OSM_MDG
 fi
-INFO "starting build"
 
-### for start_build
-### put your commands here to
-### build, test and produce coverage reports
+if [ $# -gt 0 ]; then
+        INFO "Code to compile: gerrit refspec '$1', commit-id: '$2'"
+       git fetch origin $1 || FATAL "git fetch origin '$1' didn't work"
+       git checkout -f $2 || FATAL "git checkout -f '$2' didn't work"
+else
+        INFO "Code to compile: master"
+       git checkout master
+fi
+
+INFO "starting build"
 
-#RC=0
-RC=`python -m py_compile *.py`
+INFO "  cleaning .pyc"
+rm *.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
+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