From 1ac277dcef694a2f849a6b5259cf5aa4488bebb9 Mon Sep 17 00:00:00 2001 From: Max Date: Thu, 18 Jan 2018 19:15:40 +0100 Subject: 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 --- contrib/jenkins_amd64.sh | 33 +++++++++++++++++++++++++++++++++ contrib/jenkins_arch.sh | 33 +++++++++++++++++++++++++++++++++ contrib/jenkins_arm.sh | 28 ++++++++++++++++++++++++++++ 3 files changed, 94 insertions(+) create mode 100755 contrib/jenkins_amd64.sh create mode 100755 contrib/jenkins_arch.sh create mode 100755 contrib/jenkins_arm.sh diff --git a/contrib/jenkins_amd64.sh b/contrib/jenkins_amd64.sh new file mode 100755 index 00000000..d336f0a0 --- /dev/null +++ b/contrib/jenkins_amd64.sh @@ -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 diff --git a/contrib/jenkins_arch.sh b/contrib/jenkins_arch.sh new file mode 100755 index 00000000..bac92780 --- /dev/null +++ b/contrib/jenkins_arch.sh @@ -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 diff --git a/contrib/jenkins_arm.sh b/contrib/jenkins_arm.sh new file mode 100755 index 00000000..acdbe3cc --- /dev/null +++ b/contrib/jenkins_arm.sh @@ -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 -- cgit v1.2.3