X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=jenkins%2FRO%2Fstart_build;h=4c9adfcee93f3c72ae5fd36c48783b8ba7d22743;hb=refs%2Fchanges%2F75%2F475%2F1;hp=37cdbdf0c1c85f4752adddab96322d1768755a93;hpb=dc5ae199613901f6f5125a348fd027c0a7d6ae3d;p=osm%2Fdevops.git diff --git a/jenkins/RO/start_build b/jenkins/RO/start_build index 37cdbdf0..4c9adfce 100755 --- a/jenkins/RO/start_build +++ b/jenkins/RO/start_build @@ -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