relstorage/.travis.yml

94 lines
2.4 KiB
YAML

language: python
sudo: false
services:
- mysql
- postgresql
- memcached
addons:
# Use postgresql 9.3 to get commit-lock testing
# Use postgresql 9.4 to get support for BLOB SQL functions for pg8000
# Use postgresql 9.5 to get support for INSERT ON CONFLICT UPDATE
# Sadly, as of Jan 2017, 9.5 is only available with 'dist: trusty'
# (beta) which *doesn't* include mysql for some reason. You can
# install it manually, but then you have to use 'sudo: required' which
# slows everything down. So we resort to shenanigans with the matrix.
postgresql: "9.5"
matrix:
include:
- python: 2.7
env:
- ENV=cmysqlconnector
- RS_MY_DRIVER="C MySQL Connector/Python"
- python: 3.6
env: ENV=mysqlconnector
- python: pypy-5.4.1
env: ENV=mysqlconnector
- python: 3.6
env: ENV=mysql
- python: 3.5
env: ENV=mysql
- python: 2.7
env:
- ENV=mysql
- OLDZODB=true
- python: pypy-5.4.1
env: ENV=mysql
- python: 3.5
env: ENV=pymysql
- python: 2.7
env: ENV=pymysql
- python: 2.7
env: ENV=umysqldb
- dist: trusty
env: ENV=postgres
python: 2.7
- dist: trusty
env: ENV=postgres
python: pypy-5.4.1
- dist: trusty
env: ENV=postgres
python: 3.6
- dist: trusty
env: ENV=pypostgres
python: 2.7
- dist: trusty
env: ENV=pypostgres
python: 3.5
fast_finish: true
script:
# coverage slows PyPy down from 2minutes to 12+.
# But don't run the pymysql/pypy tests twice.
- if [[ $TRAVIS_PYTHON_VERSION == 2.7 ]]; then pylint --rcfile=.pylintrc relstorage -f parseable -r n; fi
- if [[ $TRAVIS_PYTHON_VERSION == pypy* ]]; then python -m relstorage.tests.alltests -v; fi
- if [[ $TRAVIS_PYTHON_VERSION != pypy* ]]; then coverage run -m relstorage.tests.alltests -v; fi
after_success:
- coveralls
notifications:
email: false
before_install:
- python --version
install:
- pip install -U pip setuptools
- pip install -U tox coveralls pylint
- if [[ $TRAVIS_PYTHON_VERSION == pypy* ]]; then pip install -U python-memcached; fi
- if [[ $TRAVIS_PYTHON_VERSION != pypy* ]]; then pip install -U pylibmc cffi; fi
- pip install -U -e ".[test]"
- .travis/setup-$ENV.sh
- if [[ $OLDZODB == true ]]; then .travis/setup-oldzodb.sh; fi
cache: pip
before_cache:
- rm -f $HOME/.cache/pip/log/debug.log