From 3162bd656f47de725a856f786608189d494a70ce Mon Sep 17 00:00:00 2001 From: Jon Dufresne Date: Thu, 1 Jun 2017 18:05:59 -0700 Subject: [PATCH] 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 --- .travis.yml | 40 +++++++++++----------------------------- setup.py | 11 ++++++++--- tox.ini | 18 +++++++++--------- 3 files changed, 28 insertions(+), 41 deletions(-) diff --git a/.travis.yml b/.travis.yml index b86103f..0fdbdce 100644 --- a/.travis.yml +++ b/.travis.yml @@ -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 diff --git a/setup.py b/setup.py index ad78cd6..a7d426f 100644 --- a/setup.py +++ b/setup.py @@ -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.*']), diff --git a/tox.ini b/tox.ini index e044c4d..f83db48 100644 --- a/tox.ini +++ b/tox.ini @@ -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