# 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 # 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/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 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 make runtests ./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 dbd ########################################### # Publish documentation rsync -aP --delete -e ssh documentation epics-jenkins@web.sourceforge.net:/home/project-web/epics-pvdata/htdocs/docbuild/pvAccessCPP/tip