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 - "pip install --src .. -r requirements.txt" before_script: - "openssl version -a" script: - "py.test -n 4 --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 mitmproxy bdist for f in ../release/dist/* do $(brew --prefix curl)/bin/curl -u $SNAPSHOT_AUTH --hostpubmd5 $SNAPSHOT_PUBKEY -T $f sftp://$SNAPSHOT_HOST/ done fi notifications: irc: channels: - "irc.oftc.net#mitmproxy" on_success: change on_failure: always slack: rooms: - mitmproxy:YaDGC9Gt9TEM7o8zkC2OLNsu on_success: change 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/travis/virtualenv/python2.7.9/lib/python2.7/site-packages - /home/travis/virtualenv/python2.7.9/bin - /home/travis/virtualenv/pypy-2.5.0/site-packages - /home/travis/virtualenv/pypy-2.5.0/bin