Files
pvAccess/jenkins/cloudbees_build
2013-02-26 17:23:15 +01:00

68 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
# All rights reserved. Use is subject to license terms.
###########################################
# 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-3.14.12.3_Build/lastSuccessfulBuild/artifact/baseR3.14.12.3.CB-dist.tar.gz
wget -nv https://openepics.ci.cloudbees.com/job/Doxygen-1.8.3_Build/lastSuccessfulBuild/artifact/doxygen-1.8.3.CB-dist.tar.gz
wget -nv https://openepics.ci.cloudbees.com/job/Googletest-1.6.0_Build/lastSuccessfulBuild/artifact/gtest-1.6.0.CB-dist.tar.gz
wget -nv https://openepics.ci.cloudbees.com/job/pvCommon_CPP_Build/lastSuccessfulBuild/artifact/pvCommon.CB-dist.tar.gz
wget -nv https://openepics.ci.cloudbees.com/job/pvData_CPP_Build/lastSuccessfulBuild/artifact/pvData.CB-dist.tar.gz
tar -xzf baseR3.14.12.3.CB-dist.tar.gz
tar -xzf doxygen-1.8.3.CB-dist.tar.gz
tar -xzf gtest-1.6.0.CB-dist.tar.gz
tar -xzf pvCommon.CB-dist.tar.gz
tar -xzf pvData.CB-dist.tar.gz
###########################################
# 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}
GTEST=${STUFF}/gtest
EOF
make distclean all
doxygen
###########################################
# Test
./bin/${EPICS_HOST_ARCH}/testUtils
./bin/${EPICS_HOST_ARCH}/testServer &
./bin/${EPICS_HOST_ARCH}/testRemoteClientImpl
# Clean up testServer
kill $!
###########################################
# Create distribution
tar --exclude=test* -czf pvAccess.CB-dist.tar.gz bin lib include
###########################################
# Publish documentation
rsync -aP --delete -e ssh documentation epics-jenkins@web.sourceforge.net:/home/project-web/epics-pvdata/htdocs/docbuild/pvAccessCPP/tip