Add testing for all supported Python and Django versions

Document all supported versions in PyPI using trove classifiers.
Alphabetize classifiers.

Add all supported versions to tox.ini for easy testing. Tidy up tox.ini
by removing defaults for basepython.

Add all supported versions to the Travis CI configuration for CI
testing.

Use Tox-Travis to help build the test matrix as the different versions
of Django do not have complete overlap of Python support.

Update Travis configuration to use built in pip caching support.

https://docs.travis-ci.com/user/caching/#pip-cache
This commit is contained in:
Jon Dufresne 2017-06-01 18:05:59 -07:00 committed by Jannis Leidel
parent 9725bb2a94
commit 3162bd656f
3 changed files with 28 additions and 41 deletions

View file

@ -1,33 +1,15 @@
sudo: false
language: python
python: 3.5
cache:
directories:
- "$HOME/.cache/pip"
install:
- pip install tox
env:
- TOXENV=py27-django-18
- TOXENV=py27-django-19
- TOXENV=py27-django-110
- TOXENV=py27-django-111
- TOXENV=py35-django-18
- TOXENV=py35-django-19
- TOXENV=py35-django-110
- TOXENV=py35-django-111
- TOXENV=py35-django-master
- TOXENV=pypy-django-18
- TOXENV=pypy-django-19
- TOXENV=pypy-django-110
- TOXENV=pypy-django-111
matrix:
include:
- python: 3.6
env: TOXENV=py36-django-111
allow_failures:
- env: TOXENV=py35-django-master
script:
- tox
cache: pip
python:
- 2.7
- 3.3
- 3.4
- 3.5
- 3.6
- pypy
install: pip install tox-travis
script: tox
deploy:
provider: pypi
user: jazzband
@ -37,4 +19,4 @@ deploy:
on:
tags: true
repo: jazzband/django-constance
condition: "$TOXENV = py27-django-18"
python: 3.6

View file

@ -34,19 +34,24 @@ setup(
'Development Status :: 5 - Production/Stable',
'Environment :: Web Environment',
'Framework :: Django',
'Framework :: Django :: 1.8',
'Framework :: Django :: 1.9',
'Framework :: Django :: 1.10',
'Framework :: Django :: 1.11',
'Intended Audience :: Developers',
'Natural Language :: English',
'License :: OSI Approved :: BSD License',
'Natural Language :: English',
'Operating System :: OS Independent',
'Programming Language :: Python',
'Programming Language :: Python :: 2',
'Programming Language :: Python :: 2.6',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.2',
'Programming Language :: Python :: 3.3',
'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: Implementation :: CPython',
'Programming Language :: Python :: Implementation :: PyPy',
'Topic :: Utilities',
],
packages=find_packages(exclude=['tests', 'tests.*']),

18
tox.ini
View file

@ -1,14 +1,12 @@
[tox]
envlist =
{py27,py35,py36,pypy}-django-{18,19,110,111}
{py35}-django-master
py{27,33,34,35,py}-django-18
py{27,34,35,py}-django-19
py{27,34,35,py}-django-110
py{27,34,35,36,py}-django-111
py{34,35,36}-django-master
[testenv]
basepython =
py27: python2.7
py35: python3.5
py36: python3.6
pypy: pypy
deps =
redis
coverage
@ -19,9 +17,11 @@ deps =
django-110: Django>=1.10,<1.11
django-111: Django>=1.11,<2.0
django-master: https://github.com/django/django/archive/master.tar.gz
usedevelop = true
usedevelop = True
ignore_outcome =
django-master: True
commands =
coverage run {envbindir}/django-admin.py test -v2
coverage run {envbindir}/django-admin test -v2
coverage report
setenv =
PYTHONDONTWRITEBYTECODE=1