Files
pvAccess/jenkins/cloudbees_build
2016-07-12 22:03:55 +02:00

77 lines
2.2 KiB
Plaintext

# pvAccess C++ implementation
# Jenkins @ Cloudbees build script
#
# Jenkins invokes scripts with the "-ex" option. So the build is considered a failure
# if any of the commands exits with a non-zero exit code.
#
# Author: Ralph Lange <ralph.lange@gmx.de>
# Copyright (C) 2013 Helmholtz-Zentrum Berlin für Materialien und Energie GmbH
# Copyright (C) 2014-2016 ITER Organization.
# All rights reserved. Use is subject to license terms.
###########################################
# Determine EPICS Base version
DEFAULT_BASE=3.15.4
BASE=${BASE:-${DEFAULT_BASE}}
MB=${MB:-"NO_MICROBENCH"}
# Dependent module branches
PVCOMMON_BRANCH="master"
PVDATA_BRANCH="master"
###########################################
# Fetch and unpack dependencies
export STUFF=/tmp/stuff
rm -fr ${STUFF}
mkdir -p ${STUFF}
cd ${STUFF}
wget -nv https://openepics.ci.cloudbees.com/job/Base-${BASE}_Build/lastSuccessfulBuild/artifact/base-${BASE}.CB-dist.tar.gz
wget -nv https://openepics.ci.cloudbees.com/job/e4-cpp-pvData-${PVDATA_BRANCH}-build/BASE=${BASE},MB=NO_MICROBENCH/lastSuccessfulBuild/artifact/pvData.CB-dist.tar.gz
tar -xzf base-${BASE}.CB-dist.tar.gz
tar -xzf pvData.CB-dist.tar.gz
if [ "${MB}" = "WITH_MICROBENCH" ]; then
wget -nv https://openepics.ci.cloudbees.com/job/Boost-1.61.0_Build/lastSuccessfulBuild/artifact/boost-1.61.0.CB-dist.tar.gz
tar -xzf boost-1.61.0.CB-dist.tar.gz
wget -nv https://openepics.ci.cloudbees.com/job/e4-cpp-pvCommon-${PVCOMMON_BRANCH}-build/BASE=${BASE},MB=WITH_MICROBENCH/lastSuccessfulBuild/artifact/pvCommon.CB-dist.tar.gz
tar -xzf pvCommon.CB-dist.tar.gz
fi
###########################################
# Build
cd ${WORKSPACE}
export EPICS_BASE=${STUFF}
export EPICS_HOST_ARCH=$(${EPICS_BASE}/startup/EpicsHostArch)
export LD_LIBRARY_PATH=${EPICS_BASE}/lib/${EPICS_HOST_ARCH}
export PATH=${STUFF}/bin:${PATH}
cat > configure/RELEASE.local << EOF
EPICS_BASE=${EPICS_BASE}
EOF
if [ "${MB}" = "WITH_MICROBENCH" ]; then
# must use TAB characters here
cat > configure/CONFIG_SITE.local <<- EOF
WITH_MICROBENCH=1
EOF
fi
make distclean all
###########################################
# Test
make runtests
###########################################
# Create distribution
tar --exclude=test* -czf pvAccess.CB-dist.tar.gz bin lib include dbd