jenkins: add dispatcher script

Similar to the way we test osmo-bts, add simple dispatcher script which
calls appropriate test depending on a given parameter. This will allow
to simplify the job description. While at it, also rename jenkins-arm.sh
-> jenkins_arm.sh to match the OsmoBTS.

The older scripts are preserved for compatibility and shall be removed
once we update job description in osmo-ci.

Change-Id: I2955e866bce4f000a53369bd601a346c36c82468
This commit is contained in:
Max 2018-01-18 19:15:40 +01:00
parent c4759885d7
commit 1ac277dcef
3 changed files with 94 additions and 0 deletions

33
contrib/jenkins_amd64.sh Executable file
View File

@ -0,0 +1,33 @@
#!/bin/sh
# jenkins build helper script for libosmocore. This is how we build on jenkins.osmocom.org
. $(dirname "$0")/jenkins_common.sh
ENABLE_SANITIZE="--enable-sanitize"
if [ "x$label" = "xFreeBSD_amd64" ]; then
ENABLE_SANITIZE=""
fi
src_dir="$PWD"
build() {
build_dir="$1"
prep_build "$src_dir" "$build_dir"
"$src_dir"/configure --enable-static $ENABLE_SANITIZE CFLAGS="-Werror" CPPFLAGS="-Werror"
$MAKE V=1 $PARALLEL_MAKE check \
|| cat-testlogs.sh
}
# verify build in dir other than source tree
build builddir
# verify build in source tree
build .
# do distcheck only once, which is fine from built source tree, since distcheck
# is well separated from the source tree state.
$MAKE distcheck \
|| cat-testlogs.sh
osmo-clean-workspace.sh

33
contrib/jenkins_arch.sh Executable file
View File

@ -0,0 +1,33 @@
#!/bin/sh
# this is a dispatcher script which will call the arch-specific
# script based on the arch specified as command line argument
arch="$1"
if [ "x$arch" == "x" ]; then
echo "Error: You have to specify the architecture as first argument, e.g. $0 amd64"
exit 2
fi
if [ ! -d "./contrib" ]; then
echo "Run ./contrib/jenkins_arch.sh from the root of the libosmocore tree"
exit 1
fi
set -x -e
case "$arch" in
amd64)
./contrib/jenkins_amd64.sh
;;
arch)
./contrib/jenkins_arch.sh
;;
*)
set +x
echo "Unexpected architecture '$arch'"
;;
esac

28
contrib/jenkins_arm.sh Executable file
View File

@ -0,0 +1,28 @@
#!/bin/sh
. $(dirname "$0")/jenkins_common.sh
src_dir="$PWD"
build() {
build_dir="$1"
prep_build "$src_dir" "$build_dir"
"$src_dir"/configure --enable-static \
--prefix=/usr/local/arm-none-eabi \
--host=arm-none-eabi \
--enable-embedded \
--disable-doxygen \
--disable-shared \
CFLAGS="-Os -ffunction-sections -fdata-sections -nostartfiles -nodefaultlibs -Werror"
$MAKE $PARALLEL_MAKE \
|| cat-testlogs.sh
}
# verify build in dir other than source tree
build builddir
# verify build in source tree
build .
osmo-clean-workspace.sh