94 lines
2.4 KiB
YAML
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
|