Files
django-anymail/.travis.yml
medmunds b32c3ccb38 Travis: only run on release branches
Avoid running Travis builds twice for PRs (once for the feature
branch and once for the PR).

(Also simplify Travis pip cache using newer directive.)
2018-03-15 13:08:07 -07:00

72 lines
2.7 KiB
YAML

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:
# Anymail supports the same python versions as Django, excluding Python 3.2, but adding 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.8: Python 2.7, 3.3, 3.4, 3.5
- { env: DJANGO=django==1.8 RUN_LIVE_TESTS=true, python: 2.7 }
- { env: DJANGO=django==1.8, python: 3.3 }
- { env: DJANGO=django==1.8, python: 3.4 }
- { env: DJANGO=django==1.8, python: 3.5 }
- { env: DJANGO=django==1.8, python: pypy }
# Django 1.9: Python 2.7, 3.4, 3.5
- { env: DJANGO=django==1.9, python: 2.7 }
- { env: DJANGO=django==1.9, python: 3.4 }
- { env: DJANGO=django==1.9, python: 3.5 }
- { env: DJANGO=django==1.9, python: pypy }
# Django 1.10: Python 2.7, 3.4, 3.5
- { env: DJANGO=django==1.10, python: 2.7 }
- { env: DJANGO=django==1.10, python: 3.4 }
- { env: DJANGO=django==1.10, python: 3.5 }
- { env: DJANGO=django==1.10, python: pypy }
# Django 1.11: Python 2.7, 3.4, 3.5, or 3.6
- { env: DJANGO=django==1.11, python: 2.7 }
- { env: DJANGO=django==1.11, python: 3.4 }
- { env: DJANGO=django==1.11, python: 3.5 }
- { env: DJANGO=django==1.11, python: 3.6 }
- { env: DJANGO=django==1.11, python: pypy }
# Django 2.0: Python 3.5+
- { env: DJANGO=django==2.0, python: 3.5 }
- { env: DJANGO=django==2.0 RUN_LIVE_TESTS=true, python: 3.6 }
# Django 2.1 (prerelease): Python 3.5+
#- { env: DJANGO="--pre django", python: 3.5 }
#- { env: DJANGO="--pre django", python: 3.6 }
- { env: FLAKE8=true, python: 2.7 }
- { env: FLAKE8=true, python: 3.6 }
# allow_failures:
# - env: DJANGO="--pre django"
# - python: 3.6
cache: pip
# If env DJANGO is set, install Anymail and run tests
# If env FLAKE8 is set, run flake8
install:
- pip install --upgrade setuptools pip
- if [[ -n $DJANGO ]]; then pip install $DJANGO; fi
# For now, install Anymail including all optional ESPs, and test at once
# (in future, might want to matrix ESPs to test cross-dependencies)
- if [[ -n $DJANGO ]]; then pip install .[mailgun,mailjet,mandrill,postmark,sendinblue,sendgrid,sparkpost]; fi
- if [[ -n $FLAKE8 ]]; then pip install flake8; fi
- pip list
script:
- if [[ -n $DJANGO ]]; then python setup.py test; fi
- if [[ -n $FLAKE8 ]]; then flake8; fi