sudo: false language: python 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: - master - /^v\d+\.\d+(\.\d+)?(-\S*)?$/ matrix: include: - { env: LINT_AND_DOCS=true, python: 3.6 } # 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 1.11: Python 2.7, 3.4, 3.5, or 3.6 - { env: DJANGO=1.11 RUN_LIVE_TESTS=true, python: 2.7 } - { env: DJANGO=1.11, python: 3.4 } - { env: DJANGO=1.11, python: 3.5 } - { env: DJANGO=1.11, python: 3.6 } - { env: DJANGO=1.11, python: pypy } # Django 2.0: Python 3.5+ - { env: DJANGO=2.0, python: 3.5 } - { env: DJANGO=2.0 RUN_LIVE_TESTS=true, python: 3.6 } - { env: DJANGO=2.0, python: pypy3 } # Django 2.1 (prerelease): Python 3.5+ #- { env: DJANGO=2.1, python: 3.5 } #- { env: DJANGO=2.1, python: 3.6 } # Django development master (direct from GitHub source): - { env: DJANGO=master, python: 3.6 } - { env: DJANGO=master, python: 3.7-dev } # Obsolete Django versions (no longer supported by Django) # Anymail tries to support these, but doesn't test every possible combination... # Django 1.8: Python 2.7, 3.3, 3.4, 3.5 - { env: DJANGO=1.8, python: 2.7 } - { env: DJANGO=1.8, python: 3.4 } - { env: DJANGO=1.8, python: 3.5 } - { env: DJANGO=1.8, python: pypy } # Django 1.9: Python 2.7, 3.4, 3.5 - { env: DJANGO=1.9, python: 2.7 } - { env: DJANGO=1.9, python: 3.5 } # Django 1.10: Python 2.7, 3.4, 3.5 - { env: DJANGO=1.10, python: 2.7 } - { env: DJANGO=1.10, python: 3.5 } allow_failures: - env: DJANGO=2.1 python: 3.5 - env: DJANGO=2.1 python: 3.6 - env: DJANGO=master python: 3.6 - env: DJANGO=master python: 3.7-dev cache: pip install: - pip install tox-travis script: - tox