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)
# SET YOU MDG repository name here
export OSM_MDG=RO
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 " cleaning .pyc"
......
......@@ -19,3 +19,12 @@
#
# base url for all repositories
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)
# SET YOU MDG repository name here
export OSM_MDG=SO
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
trap 'WARNING "INTERRUPT"; exit 1' INT
INFO "starting build"
make clean || FATAL "make clean failed"
......
......@@ -25,41 +25,15 @@ OSM_JENKINS=$(dirname $HERE)
# SET YOU MDG repository name here
export OSM_MDG=UI
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"
make clean || FATAL "Make clean failed"
make -j16 || FATAL "Make failed"
sudo make install || FATAL "Make install Failed"
RC=0
INFO "done, RC=$RC"
exit $RC
INFO "build done"
exit 0
......@@ -22,9 +22,7 @@ if [ -z "$OSM_JENKINS" ]; then
export OSM_JENKINS=$(realpath $(dirname ${BASH_SOURCE[0]} ))
fi
. ${OSM_JENKINS}/common/logging
INFO "logging sourced"
. ${OSM_JENKINS}/common/config
INFO "config sourced"
. ${OSM_JENKINS}/common/container
INFO "container sourced"
for file in logging config container git_functions; do
. ${OSM_JENKINS}/common/$file
INFO "$file sourced"
done
#!/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() {
FATAL() {
echo "### $(date) ${FUNCNAME[1]}: FATAL error: $*" >&2
echo -e "\n### $(date) ${FUNCNAME[1]}: FATAL error: $*" >&2
print_stack
exit 1
}
WARNING() {
echo "### $(date) ${FUNCNAME[1]}: WARNING error: $*" >&2
echo -e "\n### $(date) ${FUNCNAME[1]}: WARNING error: $*" >&2
}
INFO() {
......@@ -51,3 +51,11 @@ INFO() {
DEBUG() {
echo "# $(date) ${FUNCNAME[1]}: $*" >&2
}
CMD() {
echo "# executing '$*' ..."
"$@"
rc=$?
echo "# .... '$*' done RC was $rc"
return $rc
}
......@@ -25,28 +25,7 @@ OSM_JENKINS=$(dirname $HERE)
# SET YOU MDG repository name here
export OSM_MDG=XXXX
OSM_load_config
# 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
OSM_git_checkout "$@"
INFO "starting 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