diff options
| author | Sergey Shepelev <temotor@gmail.com> | 2015-02-25 01:59:29 +0300 |
|---|---|---|
| committer | Sergey Shepelev <temotor@gmail.com> | 2015-09-06 14:01:15 +0300 |
| commit | 43c439f74552c539cc5444948d3ce4138685613a (patch) | |
| tree | 5b62d43592f898ef59338ee437c2ddb77575fa04 | |
| parent | 001f31f8f8dfc581795f282609027b26c8a31833 (diff) | |
| download | eventlet-travis-fast.tar.gz | |
wiptravis-fast
| -rw-r--r-- | .travis.yml | 52 | ||||
| -rwxr-xr-x | tests/build-dependencies.bash | 66 |
2 files changed, 97 insertions, 21 deletions
diff --git a/.travis.yml b/.travis.yml index ea7e1f0..94b1379 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,25 +1,30 @@ language: python python: 2.7 env: - - TOX_ENV=pep8 - - TOX_ENV=py26-epolls - - TOX_ENV=py26-poll - - TOX_ENV=py26-selects - - TOX_ENV=py27-dns - - TOX_ENV=py27-epolls - - TOX_ENV=py27-poll - - TOX_ENV=py27-selects - - TOX_ENV=py33-epolls - - TOX_ENV=py33-poll - - TOX_ENV=py33-selects - - TOX_ENV=py34-dns - - TOX_ENV=py34-epolls - - TOX_ENV=py34-poll - - TOX_ENV=py34-selects - - TOX_ENV=pypy-dns - - TOX_ENV=pypy-epolls - - TOX_ENV=pypy-poll - - TOX_ENV=pypy-selects + global: + - LDFLAGS="-L$HOME/fakeroot/lib" + - PIP_DOWNLOAD_CACHE="$HOME/.cache/pip" + - PKG_CONFIG_PATH="$HOME/fakeroot/lib/pkgconfig" + matrix: + - TOX_ENV=pep8 + - TOX_ENV=py26-epolls + - TOX_ENV=py26-poll + - TOX_ENV=py26-selects + - TOX_ENV=py27-dns + - TOX_ENV=py27-epolls + - TOX_ENV=py27-poll + - TOX_ENV=py27-selects + - TOX_ENV=py33-epolls + - TOX_ENV=py33-poll + - TOX_ENV=py33-selects + - TOX_ENV=py34-dns + - TOX_ENV=py34-epolls + - TOX_ENV=py34-poll + - TOX_ENV=py34-selects + - TOX_ENV=pypy-dns + - TOX_ENV=pypy-epolls + - TOX_ENV=pypy-poll + - TOX_ENV=pypy-selects matrix: fast_finish: true allow_failures: @@ -27,12 +32,16 @@ matrix: - env: TOX_ENV=pypy-epolls - env: TOX_ENV=pypy-poll - env: TOX_ENV=pypy-selects +cache: + directories: + - $HOME/.cache + - $HOME/fakeroot install: - - sudo apt-get update -qq - - sudo apt-get install -qq libssl-dev libmysqlclient-dev libpq-dev libzmq3-dev - pip install --upgrade pip setuptools tox virtualenv + - ls -lah $HOME before_script: - "export EVENTLET_DB_TEST_AUTH='{\"psycopg2\": {\"user\": \"postgres\"}, \"MySQLdb\": {\"passwd\": \"\", \"host\": \"localhost\", \"user\": \"root\"}}'" + - ./tests/build-dependencies.bash $HOME/fakeroot script: - tox -v -v -e $TOX_ENV after_failure: @@ -40,3 +49,4 @@ after_failure: - echo "pip.log\n"; cat $HOME/.pip/pip.log notifications: slack: eventlet-net:OYrQ1JE3hdTD78yQY1yZJnnc +sudo: false diff --git a/tests/build-dependencies.bash b/tests/build-dependencies.bash new file mode 100755 index 0000000..d9991de --- /dev/null +++ b/tests/build-dependencies.bash @@ -0,0 +1,66 @@ +#!/bin/bash -ex +curl_cache="$HOME/.cache/curl" +root=$(readlink -f $1) +PKG_CONFIG_PATH="$root/lib/pkgconfig" + +if [[ -z "$root" ]]; then + echo "$0 <fakeroot>" >&2 + exit 1 +fi + +install -d $root +install -d $curl_cache + +# libssl-dev libmysqlclient-dev libpq-dev libzmq3-dev + +# libssl +if [[ ! -e $root/include/openssl/ssl.h ]]; then + path="$curl_cache/openssl.tar.gz" + url="https://openssl.org/source/openssl-1.0.2d.tar.gz" + if [[ ! -e "$path" ]]; then + curl -LS "$url" |tee "$path" |md5sum >$curl_cache/openssl.have.md5 + # TODO: verify sha256 671c36487785628a703374c652ad2cebea45fa920ae5681515df25d9f2c9a8c8 + fi + tar -xzf "$path" + ( + cd openssl-1.0.2d + ./config --prefix=$root no-shared -fPIC -DOPENSSL_PIC + make + make install + ) +fi + +# libmysqlclient +if [ ! -e $root/include/mysql/mysql.h ]; then + path="$curl_cache/libmysqlclient.deb" + url="http://cdn.mysql.com/Downloads/MySQL-5.6/libmysqlclient18_5.6.26-1ubuntu14.10_amd64.deb" + if [[ ! -e "$path" ]]; then + curl -LS "$url" |tee "$path" |md5sum >$curl_cache/mysql.have.md5 + # TODO: verify md5 + fi + install -d tmp + ( + cd tmp + ar x "$path" + tar -xJf data.tar.xz + cp -al usr/lib "$root/" + ) + rm -rf ./tmp + path="$curl_cache/libmysqlclient-dev.deb" + url="http://cdn.mysql.com/Downloads/MySQL-5.6/libmysqlclient-dev_5.6.26-1ubuntu14.10_amd64.deb" + if [[ ! -e "$path" ]]; then + curl -LS "$url" |tee "$path" |md5sum >$curl_cache/mysql.have.md5 + # TODO: verify md5 + fi + install -d tmp + ( + cd tmp + ar x "$path" + tar -xJf data.tar.xz + cp -al usr/include "$root/" + cp -al usr/lib "$root/" + ) + rm -rf ./tmp +fi + +ldconfig || true |
