mitmproxy/.travis.yml
2016-02-04 09:52:25 +01:00

111 lines
3.1 KiB
YAML

sudo: false
language: python
matrix:
fast_finish: true
include:
- python: 2.7
- language: generic
os: osx
osx_image: xcode7.1
- python: 2.7
env: OPENSSL=1.0.2
addons:
apt:
sources:
# Debian sid currently holds OpenSSL 1.0.2
# change this with future releases!
- debian-sid
packages:
- libssl-dev
- python: 2.7
env: DOCS=1
script: 'cd docs && make html'
- python: pypy
- python: pypy
env: OPENSSL=1.0.2
addons:
apt:
sources:
# Debian sid currently holds OpenSSL 1.0.2
# change this with future releases!
- debian-sid
packages:
- libssl-dev
allow_failures:
# We allow pypy to fail until Travis fixes their infrastructure to a pypy
# with a recent enought CFFI library to run cryptography 1.0+.
- python: pypy
install:
- |
if [[ $TRAVIS_OS_NAME == "osx" ]]
then
brew update || brew update # try again if it fails
brew outdated openssl || brew upgrade openssl
brew install python
fi
- |
if [ "$TRAVIS_PYTHON_VERSION" = "pypy" ]; then
export PYENV_ROOT="$HOME/.pyenv"
if [ -f "$PYENV_ROOT/bin/pyenv" ]; then
pushd "$PYENV_ROOT" && git pull && popd
else
rm -rf "$PYENV_ROOT" && git clone --depth 1 https://github.com/yyuu/pyenv.git "$PYENV_ROOT"
fi
export PYPY_VERSION="4.0.1"
"$PYENV_ROOT/bin/pyenv" install --skip-existing "pypy-$PYPY_VERSION"
virtualenv --python="$PYENV_ROOT/versions/pypy-$PYPY_VERSION/bin/python" "$HOME/virtualenvs/pypy-$PYPY_VERSION"
source "$HOME/virtualenvs/pypy-$PYPY_VERSION/bin/activate"
fi
- "pip install -U pip setuptools"
- "pip install --src .. -r requirements.txt"
before_script:
- "openssl version -a"
script:
- "py.test -s --cov libmproxy"
after_success:
- coveralls
- |
if [[ $TRAVIS_OS_NAME == "osx" && $TRAVIS_BRANCH == "master" && $TRAVIS_PULL_REQUEST == "false" ]]
then
brew install curl --with-libssh2
git clone https://github.com/mitmproxy/release.git ../release
pip install -e ../release
python ../release/rtool.py -p netlib -p mitmproxy bdist
for f in ../release/dist/*
do
$(brew --prefix curl)/bin/curl -u $SNAPSHOT_AUTH --hostpubmd5 $SNAPSHOT_PUBKEY --retry 5 -T $f sftp://$SNAPSHOT_HOST/
done
fi
notifications:
irc:
channels:
- "irc.oftc.net#mitmproxy"
on_success: change
on_failure: always
slack:
rooms:
- mitmproxy:YaDGC9Gt9TEM7o8zkC2OLNsu#ci
on_success: always
on_failure: always
# exclude cryptography from cache
# it depends on libssl-dev version
# which needs to be compiled specifically to each version
before_cache:
- pip uninstall -y cryptography
cache:
directories:
- $HOME/.cache/pip
- $HOME/virtualenv/python2.7.9/lib/python2.7/site-packages
- $HOME/virtualenv/python2.7.9/bin
- $HOME/.pyenv
- $HOME/virtualenv/pypy-2.5.0/site-packages
- $HOME/virtualenv/pypy-2.5.0/bin