language: python services: - postgres addons: postgresql: "9.6" matrix: fast_finish: true include: # Django 2.1: Python 3.5, 3.6, or 3.7 - { env: TOXENV=py35-django21, python: 3.5 } - { env: TOXENV=py36-django21, python: 3.6 } - { env: TOXENV=py37-django21, python: 3.7 } - { env: TOXENV=py37-django21-postgres DB=postgres, python: 3.7 } # Django 2.2: Python 3.5, 3.6, 3.7 or 3.8 - { env: TOXENV=py35-django22, python: 3.5 } - { env: TOXENV=py36-django22, python: 3.6 } - { env: TOXENV=py37-django22, python: 3.7 } - { env: TOXENV=py38-django22, python: 3.8 } - { env: TOXENV=py38-django22-postgres DB=postgres, python: 3.8 } # Django 3.0: Python 3.6, 3.7 or 3.8 - { env: TOXENV=py36-django30, python: 3.6 } - { env: TOXENV=py37-django30, python: 3.7 } - { env: TOXENV=py38-django30, python: 3.8 } - { env: TOXENV=py38-django30-postgres DB=postgres, python: 3.8 } # Django 3.1: Python 3.6, 3.7 or 3.8 - { env: TOXENV=py36-django31, python: 3.6 } - { env: TOXENV=py37-django31, python: 3.7 } - { env: TOXENV=py38-django31, python: 3.8 } - { env: TOXENV=py38-django31-postgres DB=postgres, python: 3.8 } # Django development master (direct from GitHub source): - { env: TOXENV=py36-djangomaster, python: 3.6 } - { env: TOXENV=py37-djangomaster, python: 3.7 } - { env: TOXENV=py38-djangomaster, python: 3.8 } - { env: TOXENV=py38-djangomaster-postgres DB=postgres, python: 3.8 } allow_failures: - env: TOXENV=py36-djangomaster - env: TOXENV=py37-djangomaster - env: TOXENV=py38-djangomaster - env: TOXENV=py38-djangomaster-postgres DB=postgres cache: directories: - $HOME/.cache/pip - $TRAVIS_BUILD_DIR/.tox before_install: - psql -c 'CREATE DATABASE default;' -U postgres || true - psql -c 'CREATE DATABASE secondary;' -U postgres || true install: - pip install --upgrade pip wheel setuptools - pip install codecov coverage tox script: - tox after_success: - coverage xml -i - codecov