language: python sudo: false cache: directories: - $HOME/.cache/pip python: - "2.6" - "2.7" - "3.3" - "3.4" - "3.5" - "3.6" - "3.7-dev" - "pypy-5.6.0" matrix: allow_failures: - python: "3.7-dev" # Explicitly test against our oldest supported cryptography.io, in addition # to whatever the latest default is. include: - python: 2.7 env: "OLDEST_CRYPTO=1.5" - python: 3.6 env: "OLDEST_CRYPTO=1.5" install: # Ensure modern pip/etc on Python 3.3 workers (not sure WTF, but, eh) - pip install pip==9.0.1 setuptools==36.6.0 # Grab a specific version of Cryptography if desired. Doing this before other # installations ensures we don't have to do any downgrading/overriding. - | if [[ -n "$OLDEST_CRYPTO" ]]; then pip install "cryptography==${OLDEST_CRYPTO}" fi # Dev (doc/test running) requirements # TODO: use pipenv + whatever contexty-type stuff it has - pip install codecov # For codecov specifically - pip install -r dev-requirements.txt # Self-install for setup.py-driven deps - pip install -e . script: | # NOTE: the below hilarity should only exist in 2.0-2.3, 2.4+ should've gone # back to vague normalcy! if [[ $TRAVIS_PYTHON_VERSION == '2.6' || $TRAVIS_PYTHON_VERSION == '3.3' ]]; then flake8 coverage run --source=paramiko -m pytest else inv travis.blacken flake8 inv coverage inv sites fi notifications: irc: channels: "irc.freenode.org#paramiko" template: - "%{repository}@%{branch}: %{message} (%{build_url})" on_success: change on_failure: change email: false after_success: - codecov