Use a wheelhouse in the integration test

The integration test can take >2 hours running into a timeout. Much of
the time spent in this test is consumed by recompiling dependencies like
lxml. Reduce this overhead by compiling these items once in a
wheelhouse then installing all dependencies from that wheelhouse
preventing recompilation.

Change-Id: I40cd7587ff32f1a4cf881939069dde015dc9589d
This commit is contained in:
Clark Boylan 2015-01-05 09:43:35 -08:00
parent f3c8de8ac7
commit 3991d07543
1 changed files with 12 additions and 1 deletions

View File

@ -20,7 +20,7 @@ BASE=${BASE:-/opt/stack}
REPODIR=${REPODIR:-$BASE/new}
# TODO: Figure out how to get this on to the box properly
sudo apt-get install -y --force-yes libxml2-dev libxslt-dev libmysqlclient-dev libpq-dev libnspr4-dev pkg-config libsqlite3-dev libzmq-dev libffi-dev libldap2-dev libsasl2-dev ccache
sudo apt-get install -y --force-yes libvirt-dev libxml2-dev libxslt-dev libmysqlclient-dev libpq-dev libnspr4-dev pkg-config libsqlite3-dev libzmq-dev libffi-dev libldap2-dev libsasl2-dev ccache
# FOR numpy / pyyaml
sudo apt-get build-dep -y --force-yes python-numpy
@ -31,6 +31,17 @@ export PATH=/usr/lib/ccache:$PATH
tmpdir=$(mktemp -d)
# Set up a wheelhouse
export WHEELHOUSE=${WHEELHOUSE:-$tmpdir/.wheelhouse}
export PIP_WHEEL_DIR=${PIP_WHEEL_DIR:-$WHEELHOUSE}
export PIP_FIND_LINKS=${PIP_FIND_LINKS:-file://$WHEELHOUSE}
mkvenv $tmpdir/wheelhouse
# Not all packages properly build wheels (httpretty for example).
# Do our best but ignore errors when making wheels.
set +e
$tmpdir/wheelhouse/bin/pip wheel -r $REPODIR/requirements/global-requirements.txt
set -e
#BRANCH
BRANCH=${OVERRIDE_ZUUL_BRANCH=:-master}
# PROJECTS is a list of projects that we're testing