Skip to content
Snippets Groups Projects
Commit 35d6f24f authored by Jeremy Mordkoff's avatar Jeremy Mordkoff
Browse files

refactored the git checkout code


Signed-off-by: default avatarJeremy Mordkoff <Jeremy.Mordkoff@riftio.com>
parent 837fc969
No related branches found
No related tags found
No related merge requests found
...@@ -25,36 +25,9 @@ OSM_JENKINS=$(dirname $HERE) ...@@ -25,36 +25,9 @@ OSM_JENKINS=$(dirname $HERE)
# SET YOU MDG repository name here # SET YOU MDG repository name here
export OSM_MDG=RO export OSM_MDG=RO
OSM_load_config OSM_load_config
OSM_git_checkout "$@"
# 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 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
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'"
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
fi
INFO "starting build" INFO "starting build"
INFO " cleaning .pyc" INFO " cleaning .pyc"
......
...@@ -19,3 +19,12 @@ ...@@ -19,3 +19,12 @@
# #
# base url for all repositories # base url for all repositories
OSM_GIT_URL=https://osm.etsi.org/gerrit/osm OSM_GIT_URL=https://osm.etsi.org/gerrit/osm
#
# OSM_USE_LOCAL_DEVOPS
#
# this option disables the clone inside the
# the container and instead copies this directory tree
# into the container. Very useful for testing
# default is false
#
# OSM_USE_LOCAL_DEVOPS=true
...@@ -25,32 +25,9 @@ OSM_JENKINS=$(dirname $HERE) ...@@ -25,32 +25,9 @@ OSM_JENKINS=$(dirname $HERE)
# SET YOU MDG repository name here # SET YOU MDG repository name here
export OSM_MDG=SO export OSM_MDG=SO
OSM_load_config OSM_load_config
OSM_git_checkout "$@"
trap 'WARNING "INTERRUPT"; exit 1' INT
# Here is an example for how to handle an incremental build
if [ -d $OSM_MDG ]; then
INFO "reusing existing workspace"
cd $OSM_MDG
git pull
else
INFO "cloning MDG $OSM_MDG from $OSM_GIT_URL/$OSM_MDG"
git clone $OSM_GIT_URL/$OSM_MDG
cd $OSM_MDG
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'"
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
fi
INFO "starting build" INFO "starting build"
make clean || FATAL "make clean failed" make clean || FATAL "make clean failed"
......
...@@ -25,41 +25,15 @@ OSM_JENKINS=$(dirname $HERE) ...@@ -25,41 +25,15 @@ OSM_JENKINS=$(dirname $HERE)
# SET YOU MDG repository name here # SET YOU MDG repository name here
export OSM_MDG=UI export OSM_MDG=UI
OSM_load_config OSM_load_config
OSM_git_checkout "$@"
# Here is an example for how to handle an incremental build
if [ -d $OSM_MDG ]; then
INFO "reusing existing workspace"
cd $OSM_MDG
git pull
else
INFO "cloning MDG $OSM_MDG from $OSM_GIT_URL/$OSM_MDG"
git clone $OSM_GIT_URL/$OSM_MDG
cd $OSM_MDG
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'"
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
fi
INFO "starting build" INFO "starting build"
make clean || FATAL "Make clean failed" make clean || FATAL "Make clean failed"
make -j16 || FATAL "Make failed" make -j16 || FATAL "Make failed"
sudo make install || FATAL "Make install Failed" sudo make install || FATAL "Make install Failed"
RC=0 INFO "build done"
exit 0
INFO "done, RC=$RC"
exit $RC
...@@ -22,9 +22,7 @@ if [ -z "$OSM_JENKINS" ]; then ...@@ -22,9 +22,7 @@ if [ -z "$OSM_JENKINS" ]; then
export OSM_JENKINS=$(realpath $(dirname ${BASH_SOURCE[0]} )) export OSM_JENKINS=$(realpath $(dirname ${BASH_SOURCE[0]} ))
fi fi
. ${OSM_JENKINS}/common/logging for file in logging config container git_functions; do
INFO "logging sourced" . ${OSM_JENKINS}/common/$file
. ${OSM_JENKINS}/common/config INFO "$file sourced"
INFO "config sourced" done
. ${OSM_JENKINS}/common/container
INFO "container sourced"
#!/bin/bash
GIT() {
CMD git "$@"
}
OSM_git_checkout() {
# 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 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
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'"
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
fi
}
...@@ -35,13 +35,13 @@ print_stack() { ...@@ -35,13 +35,13 @@ print_stack() {
FATAL() { FATAL() {
echo "### $(date) ${FUNCNAME[1]}: FATAL error: $*" >&2 echo -e "\n### $(date) ${FUNCNAME[1]}: FATAL error: $*" >&2
print_stack print_stack
exit 1 exit 1
} }
WARNING() { WARNING() {
echo "### $(date) ${FUNCNAME[1]}: WARNING error: $*" >&2 echo -e "\n### $(date) ${FUNCNAME[1]}: WARNING error: $*" >&2
} }
INFO() { INFO() {
...@@ -51,3 +51,11 @@ INFO() { ...@@ -51,3 +51,11 @@ INFO() {
DEBUG() { DEBUG() {
echo "# $(date) ${FUNCNAME[1]}: $*" >&2 echo "# $(date) ${FUNCNAME[1]}: $*" >&2
} }
CMD() {
echo "# executing '$*' ..."
"$@"
rc=$?
echo "# .... '$*' done RC was $rc"
return $rc
}
...@@ -25,28 +25,7 @@ OSM_JENKINS=$(dirname $HERE) ...@@ -25,28 +25,7 @@ OSM_JENKINS=$(dirname $HERE)
# SET YOU MDG repository name here # SET YOU MDG repository name here
export OSM_MDG=XXXX export OSM_MDG=XXXX
OSM_load_config OSM_load_config
OSM_git_checkout "$@"
# Here is an example for how to handle an incremental build
if [ -d $OSM_MDG ]; then
INFO "reusing existing workspace"
cd $OSM_MDG
git pull
else
INFO "cloning MDG $OSM_MDG from $OSM_GIT_URL/$OSM_MDG"
git clone $OSM_GIT_URL/$OSM_MDG
cd $OSM_MDG
fi
# Gerrit arranges to call this script with two parameters -- the refspec and commit ID that needs to be built
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" INFO "starting build"
### for start_build ### for start_build
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment