relstorage/.travis.yml

57 lines
1.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
postgresql: "9.4"
python:
- pypy-5.4.1
- 2.7
- 3.5
env:
matrix:
- ENV=mysql
- ENV=postgres
- ENV=pypostgres
- ENV=pymysql
- ENV=umysqldb
matrix:
exclude:
- python: 3.5
env: ENV=umysqldb
- python: pypy-5.4.1
env: ENV=pymysql
- python: pypy-5.4.1
env: ENV=umysqldb
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
cache: pip
before_cache:
- rm -f $HOME/.cache/pip/log/debug.log