Files
django-anymail/.travis.yml
2020-08-14 17:58:06 -07:00

73 lines
2.6 KiB
YAML

language: python
os: linux
dist: xenial
branches:
# Only run builds on release branches.
# (Builds will *also* still run on pull requests;
# this avoids duplicate builds on the PR *branches*, too.)
only:
- main
- /^v\d+\.\d+(\.(\d|x)+)?(-\S*)?$/
env:
global:
# Let Travis report failures that tox.ini would normally ignore:
- TOX_FORCE_IGNORE_OUTCOME=false
jobs:
include:
- python: 3.8
env: TOXENV="lint,docs"
# Anymail supports the same Python versions as Django, plus PyPy.
# https://docs.djangoproject.com/en/dev/faq/install/#what-python-version-can-i-use-with-django
# Live API integration tests are only run on a few, representative Python/Django version
# combinations, to avoid rapidly consuming the testing accounts' entire send allotments.
# Django 2.0: Python 3.5+
- { env: TOXENV=django20-py35-all, python: 3.5 }
- { env: TOXENV=django20-py36-all, python: 3.6 }
- { env: TOXENV=django20-pypy3-all, python: pypy3 }
# Django 2.1: Python 3.5, 3.6, or 3.7
- { env: TOXENV=django21-py35-all, python: 3.5 }
- { env: TOXENV=django21-py36-all, python: 3.6 }
- { env: TOXENV=django21-py37-all, python: 3.7 }
- { env: TOXENV=django21-pypy3-all, python: pypy3 }
# Django 2.2: Python 3.5, 3.6, or 3.7
- { env: TOXENV=django22-py35-all, python: 3.5 }
- { env: TOXENV=django22-py36-all, python: 3.6 }
- { env: TOXENV=django22-py37-all, python: 3.7 }
- { env: TOXENV=django22-pypy3-all, python: pypy3 }
# Django 3.0: Python 3.6, 3.7, or 3.8
- { env: TOXENV=django30-py36-all, python: 3.6 }
- { env: TOXENV=django30-py37-all, python: 3.7 }
- { env: TOXENV=django30-py38-all, python: 3.8 }
- { env: TOXENV=django30-pypy3-all, python: pypy3 }
# Django 3.1: Python 3.6, 3.7, or 3.8
- { env: TOXENV=django31-py36-all, python: 3.6 }
- { env: TOXENV=django31-py37-all, python: 3.7 }
- { env: TOXENV=django31-py38-all RUN_LIVE_TESTS=true, python: 3.8 }
- { env: TOXENV=django31-pypy3-all, python: pypy3 }
# Django current development (direct from GitHub source main branch):
- { env: TOXENV=djangoDev-py37-all, python: 3.7 }
# Install without optional extras (don't need to cover entire matrix)
- { env: TOXENV=django31-py37-none, python: 3.7 }
- { env: TOXENV=django31-py37-amazon_ses, python: 3.7 }
- { env: TOXENV=django31-py37-sparkpost, python: 3.7 }
# Test some specific older package versions
- { env: TOXENV=django22-py37-all-old_urllib3, python: 3.7 }
allow_failures:
- env: TOXENV=djangoDev-py37-all
python: 3.7
cache: pip
install:
- pip install tox
script:
- tox