Skip to content

Instantly share code, notes, and snippets.

@jhoblitt
Last active August 29, 2015 14:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jhoblitt/f90aa1c4297cab12abbd to your computer and use it in GitHub Desktop.
Save jhoblitt/f90aa1c4297cab12abbd to your computer and use it in GitHub Desktop.
Testing lsstswBuild.sh in a clean sandbox. This assumes that all os package dependencies have been installed
# create a git bundle of afwdata and push it to s3
#
# cloning large repos from git.lsstcorp.org to DO is fairly slow
# * wget bundle from s3 + local clone is ~ 4mins (dominated by clone ~3min)
# * clone from git.lsst.corp.org is ~ 20mins
#
# `lsst_build prepare` will pull new commits so this does not need to be kept up
# to date
git clone git://git.lsstcorp.org/LSST/DMS/testdata/afwdata.git
cd afwdata
git bundle create afwdata master
s3cmd put --acl-public afwdata.bundle s3://lsst-repos/afwdata.bundle
# required only to build git
sudo yum install -y perl-ExtUtils-MakeMaker
sudo yum install -y libcurl-devel
sudo yum install -y gettext
if ! $(hash lftp); then
sudo yum install -y lftp
fi
sudo userdel -r test
sudo useradd -m test -s /bin/bash
sudo -i -u test
# ubuntu only
export CURL_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt
BRANCH="feature/run_lsstswBuild.sh_under_jenkins"
git clone -b $BRANCH https://github.com/jhoblitt/lsstsw.git
git clone -b $BRANCH https://github.com/jhoblitt/buildbot-scripts.git
# note that $LSSTSW is intentionally != $HOME in order to catch path
# assumptions
export LSSTSW=${HOME}/lsstsw
export BUILD_DIR=${HOME}/build
if $(hash lftp); then
lftp -e 'pget -n 16 http://lsst-repos.s3.amazonaws.com/afwdata.bundle && exit'
else
wget http://lsst-repos.s3.amazonaws.com/afwdata.bundle
fi
mkdir -p ${BUILD_DIR}
time git clone -b master afwdata.bundle ${BUILD_DIR}/afwdata
cd ${BUILD_DIR}/afwdata
git remote rm origin
git remote add origin git://git.lsstcorp.org/LSST/DMS/testdata/afwdata.git
git pull origin master
cd
# `lsst_build prepare` commits the build manifest to versiondb and git will
# exit with a status of 128 if an author is not set
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
${LSSTSW}/bin/deploy
find ${LSSTSW}/anaconda -name "libm.so*" -exec rm -f {} \;
while ${HOME}/buildbot-scripts/lsstswBuild.sh --branch "tickets/DM-2303 v10_1_rc2" --build_number 1 --skip_docs --no-fetch; do :; done
# test from different user account
export EXECUTOR_NUMBER=0
export BRANCH=master
export BUILD_NUMBER=1
sudo -u build${EXECUTOR_NUMBER} LSSTSW=/home/build${EXECUTOR_NUMBER}/lsstsw /home/build${EXECUTOR_NUMBER}/buildbot-scripts/lsstswBuild.sh --branch $BRANCH --build_number $BUILD_NUMBER --skip_docs --no-fetch
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment