sudo: false language: python addons: apt: sources: # Debian sid currently holds OpenSSL 1.0.2 # change this with future releases! - debian-sid packages: - libssl-dev matrix: fast_finish: true include: - python: 2.7 - python: 2.7 env: NO_ALPN=1 - language: generic os: osx osx_image: xcode7.1 git: depth: 9999999 - python: 3.5 env: SCOPE="netlib test/mitmproxy/script test/pathod/test_utils.py test/pathod/test_log.py test/pathod/test_language_generators.py test/pathod/test_language_base.py test/pathod/test_language_http.py test/pathod/test_language_websocket.py" - python: 3.5 env: SCOPE="netlib test/mitmproxy/script test/pathod/test_utils.py test/pathod/test_log.py test/pathod/test_language_generators.py test/pathod/test_language_base.py test/pathod/test_language_http.py test/pathod/test_language_websocket.py" NO_ALPN=1 - python: 2.7 env: DOCS=1 script: 'cd docs && SPHINXOPTS="-W" make -e html' allow_failures: - 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 -U virtualenv - ./dev.sh - source venv/bin/activate before_script: - "openssl version -a" - "python -c \"from OpenSSL import SSL; print(SSL.SSLeay_version(SSL.SSLEAY_VERSION))\"" - "flake8 --jobs 4 --count mitmproxy netlib pathod examples test" script: - "py.test --timeout 60 --cov netlib --cov mitmproxy --cov pathod test/$SCOPE" after_success: - coveralls - | if [[ $TRAVIS_OS_NAME == "osx" && $TRAVIS_PULL_REQUEST == "false" && ($TRAVIS_BRANCH == "master" || -n $TRAVIS_TAG) ]] then pip install -e ./release python ./release/rtool.py bdist python ./release/rtool.py upload-snapshot --bdist --wheel fi notifications: slack: -rooms: mitmproxy:YaDGC9Gt9TEM7o8zkC2OLNsu on_success: change on_failure: change on_start: never cache: directories: - $HOME/build/mitmproxy/mitmproxy/venv - $HOME/.cache/pip - $HOME/.pyenv - $HOME/Library/Caches/pip