mirror of
https://github.com/pacnpal/django-anymail.git
synced 2025-12-24 13:31:05 -05:00
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.)
72 lines
2.7 KiB
YAML
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
|