mitmproxy/.travis.yml

111 lines
3.1 KiB
YAML
Raw Normal View History

2014-12-24 00:39:38 +00:00
sudo: false
2015-08-27 00:57:09 +00:00
language: python
matrix:
2015-08-27 00:57:09 +00:00
fast_finish: true
include:
2015-08-27 00:57:09 +00:00
- python: 2.7
2015-11-26 13:59:43 +00:00
- 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
2015-09-08 14:07:27 +00:00
- python: 2.7
env: DOCS=1
2015-09-16 02:09:05 +00:00
script: 'cd docs && make html'
2015-08-27 00:57:09 +00:00
- 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
2014-09-08 22:15:06 +00:00
install:
2015-11-26 13:59:43 +00:00
- |
if [[ $TRAVIS_OS_NAME == "osx" ]]
then
2015-11-29 14:11:08 +00:00
brew update || brew update # try again if it fails
brew outdated openssl || brew upgrade openssl
brew install python
2015-11-26 13:59:43 +00:00
fi
2016-01-27 09:57:07 +00:00
- |
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
2016-01-11 14:40:09 +00:00
- "pip install -U pip setuptools"
2015-11-29 14:11:08 +00:00
- "pip install --src .. -r requirements.txt"
before_script:
- "openssl version -a"
script:
2016-01-25 18:55:59 +00:00
- "py.test -s --cov libmproxy"
after_success:
- coveralls
2015-11-29 14:11:08 +00:00
- |
2015-11-29 14:23:44 +00:00
if [[ $TRAVIS_OS_NAME == "osx" && $TRAVIS_BRANCH == "master" && $TRAVIS_PULL_REQUEST == "false" ]]
2015-11-29 14:11:08 +00:00
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
2015-11-29 14:11:08 +00:00
for f in ../release/dist/*
do
2015-12-02 20:03:45 +00:00
$(brew --prefix curl)/bin/curl -u $SNAPSHOT_AUTH --hostpubmd5 $SNAPSHOT_PUBKEY --retry 5 -T $f sftp://$SNAPSHOT_HOST/
2015-11-29 14:11:08 +00:00
done
fi
2014-01-28 01:52:41 +00:00
notifications:
irc:
channels:
- "irc.oftc.net#mitmproxy"
on_success: change
on_failure: always
2015-06-23 02:01:31 +00:00
slack:
rooms:
- mitmproxy:YaDGC9Gt9TEM7o8zkC2OLNsu#ci
on_success: always
2015-06-23 02:01:31 +00:00
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
2014-12-24 00:56:46 +00:00
cache:
directories:
2015-08-27 00:57:09 +00:00
- $HOME/.cache/pip
2016-01-27 09:57:07 +00:00
- $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