mirror of https://github.com/sipwise/libtcap.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
2.2 KiB
88 lines
2.2 KiB
#!/bin/bash
|
|
# This script is used for running the tests with proper arguments
|
|
# from within Jenkins
|
|
|
|
set -e
|
|
set -u
|
|
set -x
|
|
|
|
if [ -d /results ] ; then
|
|
# Running from Jenkins (RW)
|
|
RESULTS="/results"
|
|
|
|
cd "/code"
|
|
else
|
|
# Running locally in Docker
|
|
RESULTS="./results"
|
|
mkdir -p "${RESULTS}"
|
|
fi
|
|
|
|
source_path="$(pwd)"
|
|
|
|
# jenkins environment vars
|
|
if [ -z "${release:-}" ] ; then
|
|
release="none"
|
|
fi
|
|
if [ -z "${tag:-}" ] ; then
|
|
tag="none"
|
|
fi
|
|
if [ -z "${old_version:-}" ] ; then
|
|
old_version="latest_tag"
|
|
fi
|
|
if [ -z "${new_version:-}" ] ; then
|
|
new_version="none"
|
|
fi
|
|
if [ -z "${branch:-}" ] ; then
|
|
branch="none"
|
|
fi
|
|
|
|
# only run inside docker environments as root user
|
|
if [ -f /.dockerenv ] && [[ "$(id -u)" == "0" ]] ; then
|
|
# the environment passed to docker might claim to have
|
|
# /var/lib/jenkins for $HOME, but we might be running
|
|
# under user root, so ensure the ~/.gitconfig can be found
|
|
# at the appropriate place
|
|
echo "Fixing HOME for user root (changing from '${HOME}' to '/root')"
|
|
export HOME=/root/
|
|
fi
|
|
|
|
if [[ "${release}" =~ ^release-mr ]] ; then
|
|
echo "release detected"
|
|
short_release=${release%%-update}
|
|
short_release=${short_release##release-}
|
|
|
|
if [[ "${short_release}" =~ ^mr([0-9]+)\.([0-9]+)\.([0-9]+)$ ]] ; then
|
|
common_release="mr${BASH_REMATCH[1]}.${BASH_REMATCH[2]}\."
|
|
new_version="${tag}"
|
|
else
|
|
echo "yellow zone release detected"
|
|
common_release="${short_release}\."
|
|
fi
|
|
old_version=$(cd "${source_path}" ; git tag | grep -v jenkins-libtcap | \
|
|
grep "${common_release}" | sort -r | head -1)
|
|
|
|
if [ -z "${old_version}" ] ; then
|
|
echo "No tag found for ${common_release}. Using latest_tag"
|
|
old_version="latest_tag"
|
|
fi
|
|
else
|
|
if [ "${old_version}" = "latest_tag" ] ; then
|
|
if [[ "${branch}" =~ ^mr[0-9]+\.[0-9]+$ ]] ; then
|
|
old_version=$(cd "${source_path}" ; git tag | grep -v jenkins-libtcap | \
|
|
grep "${branch}\." | sort -r | head -1)
|
|
fi
|
|
fi
|
|
|
|
if [ "$new_version" = "none" ] ; then
|
|
echo "New version is unset, defaulting to master"
|
|
new_version=master
|
|
fi
|
|
fi
|
|
|
|
if [ "${old_version}" = "latest_tag" ] ; then
|
|
old_version=$(cd "${source_path}" ; git tag | grep -v jenkins-libtcap |\
|
|
sort -r | head -1)
|
|
fi
|
|
|
|
RESULTS=${RESULTS} ./t/abi-check.sh "$old_version" "$new_version"
|