dist: trusty sudo: false language: python cache: directories: - $HOME/.cache/pip env: global: - LC_ALL=en_US.UTF-8 matrix: include: - language: generic os: osx osx_image: xcode10.1 env: TOXENV=py27 - language: generic os: osx osx_image: xcode10.1 env: TOXENV=py27 OPENSSL=1.1.0 - python: "2.7" # these are just to make travis's UI a bit prettier env: TOXENV=py27 - python: "3.4" env: TOXENV=py34 - python: "3.5" env: TOXENV=py35 - python: "3.6" env: TOXENV=py36 - python: "3.7" env: TOXENV=py37 dist: xenial sudo: true - python: "pypy" env: TOXENV=pypy - python: "pypy3" env: TOXENV=pypy3 # Also run the tests against cryptography master. - python: "2.7" env: TOXENV=py27-cryptographyMaster - python: "3.4" env: TOXENV=py34-cryptographyMaster - python: "3.5" env: TOXENV=py35-cryptographyMaster - python: "3.6" env: TOXENV=py36-cryptographyMaster - python: "3.7" env: TOXENV=py37-cryptographyMaster dist: xenial sudo: true - python: "pypy" env: TOXENV=pypy-cryptographyMaster - python: "pypy3" env: TOXENV=pypy3-cryptographyMaster # And current minimum cryptography version. - python: "2.7" env: TOXENV=py27-cryptographyMinimum - python: "3.4" env: TOXENV=py34-cryptographyMinimum - python: "3.5" env: TOXENV=py35-cryptographyMinimum - python: "3.6" env: TOXENV=py36-cryptographyMinimum - python: "3.7" env: TOXENV=py37-cryptographyMinimum dist: xenial sudo: true - python: "pypy" env: TOXENV=pypy-cryptographyMinimum - python: "pypy3" env: TOXENV=pypy3-cryptographyMinimum # Make sure we don't break Twisted or urllib3 - python: "2.7" env: TOXENV=py27-twistedMaster - python: "3.5" env: TOXENV=py35-urllib3Master # Meta - python: "2.7" env: TOXENV=check-manifest - python: "2.7" env: TOXENV=pypi-readme - python: "2.7" env: TOXENV=flake8 - python: "2.7" env: TOXENV=docs # Let the cryptography master builds fail because they might be caused by # cryptography changes that are beyond our control. allow_failures: - env: TOXENV=py27-cryptographyMaster - env: TOXENV=py34-cryptographyMaster - env: TOXENV=py35-cryptographyMaster - env: TOXENV=py36-cryptographyMaster - env: TOXENV=py37-cryptographyMaster - env: TOXENV=pypy-cryptographyMaster - env: TOXENV=pypy3-cryptographyMaster install: - | if [[ "$(uname -s)" == 'Darwin' ]]; then brew update if [[ "${OPENSSL}" == "1.1.0" ]]; then brew upgrade openssl@1.1 else brew upgrade openssl fi curl -O https://bootstrap.pypa.io/get-pip.py python get-pip.py --user python -m pip install --user virtualenv else pip install virtualenv fi python -m virtualenv ~/.venv ~/.venv/bin/pip install tox coverage script: - | if [[ "$(uname -s)" == 'Darwin' ]]; then # set our flags to use homebrew openssl if [[ "${OPENSSL}" == "1.1.0" ]]; then export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib" export CFLAGS="-I/usr/local/opt/openssl@1.1/include" export PATH="/usr/local/opt/openssl@1.1/bin:$PATH" else export LDFLAGS="-L/usr/local/opt/openssl/lib" export CFLAGS="-I/usr/local/opt/openssl/include" export PATH="/usr/local/opt/openssl/bin:$PATH" fi fi openssl version ~/.venv/bin/tox -v after_script: - ./.travis/upload_coverage.sh notifications: email: false