blob: 60731be7619cc057180db3471b2abab39f3b20c2 [file] [log] [blame]
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: xcode9.3
env: TOXENV=py27
- language: generic
os: osx
osx_image: xcode9.3
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: "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: "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: "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=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