Skip to content

Remove boilerplate code from tox config #2123

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Nov 25, 2014
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 26 additions & 26 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,40 +1,40 @@
language: python

python: 2.7

sudo: false

env:
- TOX_ENV=flake8
- TOX_ENV=py3.4-django1.7
- TOX_ENV=py3.3-django1.7
- TOX_ENV=py3.2-django1.7
- TOX_ENV=py2.7-django1.7
- TOX_ENV=py3.4-django1.6
- TOX_ENV=py3.3-django1.6
- TOX_ENV=py3.2-django1.6
- TOX_ENV=py2.7-django1.6
- TOX_ENV=py2.6-django1.6
- TOX_ENV=py3.4-django1.5
- TOX_ENV=py3.3-django1.5
- TOX_ENV=py3.2-django1.5
- TOX_ENV=py2.7-django1.5
- TOX_ENV=py2.6-django1.5
- TOX_ENV=py2.7-django1.4
- TOX_ENV=py2.6-django1.4
- TOX_ENV=py3.4-djangomaster
- TOX_ENV=py3.3-djangomaster
- TOX_ENV=py2.7-djangomaster
- TOX_ENV=py27-flake8
- TOX_ENV=py34-django1.7
- TOX_ENV=py33-django1.7
- TOX_ENV=py32-django1.7
- TOX_ENV=py27-django1.7
- TOX_ENV=py34-django1.6
- TOX_ENV=py33-django1.6
- TOX_ENV=py32-django1.6
- TOX_ENV=py27-django1.6
- TOX_ENV=py26-django1.6
- TOX_ENV=py34-django1.5
- TOX_ENV=py33-django1.5
- TOX_ENV=py32-django1.5
- TOX_ENV=py27-django1.5
- TOX_ENV=py26-django1.5
- TOX_ENV=py27-django1.4
- TOX_ENV=py26-django1.4
- TOX_ENV=py34-djangomaster
- TOX_ENV=py33-djangomaster
- TOX_ENV=py32-djangomaster
- TOX_ENV=py27-djangomaster
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the '.' removal intentional?
I don't particularly mind either ways, but we're using eg django1.7, so seems we may as well stick with the same python style (also it'd keep the changeset minimal, which'd be good for reviewing this)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh sorry, I see your comment above now.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, it's intentional. I think the dot syntax looks much better, but because tox provides (see the note) the environments, it also knows how to work with basepython by looking at the prefix. With a custom prefix we would either have to redefine all the default envs (which doesn't make that much sense just for prettying stuff up) or override all the env created from the multi-dimensional matrix, which would make the whole refactoring pretty much useless. This is an example of how Tornado redefined theirs https://github.com/tornadoweb/tornado/blob/master/tox.ini#L52.


matrix:
fast_finish: true
allow_failures:
- env: TOX_ENV=py3.4-djangomaster
- env: TOX_ENV=py3.3-djangomaster
- env: TOX_ENV=py2.7-djangomaster
- env: TOX_ENV=py34-djangomaster
- env: TOX_ENV=py33-djangomaster
- env: TOX_ENV=py32-djangomaster
- env: TOX_ENV=py27-djangomaster

install:
- "pip install tox --download-cache $HOME/.pip-cache"
- pip install tox

script:
- tox -e $TOX_ENV
190 changes: 20 additions & 170 deletions tox.ini
Original file line number Diff line number Diff line change
@@ -1,181 +1,31 @@
[tox]
downloadcache = {toxworkdir}/cache/
envlist =
flake8,
py3.4-django1.7,py3.3-django1.7,py3.2-django1.7,py2.7-django1.7,
py3.4-django1.6,py3.3-django1.6,py3.2-django1.6,py2.7-django1.6,py2.6-django1.6,
py3.4-django1.5,py3.3-django1.5,py3.2-django1.5,py2.7-django1.5,py2.6-django1.5,
py2.7-django1.4,py2.6-django1.4,
py3.4-djangomaster,py3.3-djangomaster,py2.7-djangomaster
py27-flake8,
{py26,py27}-django1.4,
{py26,py27,py32,py33,py34}-django{1.5,1.6},
{py27,py32,py33,py34}-django{1.7,master}

[testenv]
commands = ./runtests.py --fast
setenv =
PYTHONDONTWRITEBYTECODE=1

[testenv:flake8]
basepython = python2.7
deps = pytest==2.5.2
flake8==2.2.2
commands = ./runtests.py --lintonly

[testenv:py3.4-django1.7]
basepython = python3.4
deps = Django==1.7
django-filter==0.7
defusedxml==0.3
pytest-django==2.6.1

[testenv:py3.3-django1.7]
basepython = python3.3
deps = Django==1.7
django-filter==0.7
defusedxml==0.3
deps =
django1.4: django==1.4.11
django1.5: django==1.5.6
django1.6: Django==1.6.3
django1.7: Django==1.7
djangomaster: https://github.com/django/django/zipball/master
{py26,py27}-django{1.4,1.5,1.6,1.7}: django-guardian==1.2.3
{py26,py27}-django{1.4,1.5,1.6}: oauth2==1.5.211
{py26,py27}-django{1.4,1.5,1.6}: django-oauth-plus==2.2.1
{py26,py27}-django{1.4,1.5}: django-oauth2-provider==0.2.3
{py26,py27}-django1.6: django-oauth2-provider==0.2.4
pytest-django==2.6.1

[testenv:py3.2-django1.7]
basepython = python3.2
deps = Django==1.7
django-filter==0.7
defusedxml==0.3
pytest-django==2.6.1

[testenv:py2.7-django1.7]
basepython = python2.7
deps = Django==1.7
django-filter==0.7
defusedxml==0.3
# django-oauth-plus==2.2.1
# oauth2==1.5.211
# django-oauth2-provider==0.2.4
django-guardian==1.2.3
pytest-django==2.6.1

[testenv:py3.4-django1.6]
basepython = python3.4
deps = Django==1.6.3
django-filter==0.7
defusedxml==0.3
pytest-django==2.6.1

[testenv:py3.3-django1.6]
basepython = python3.3
deps = Django==1.6.3
django-filter==0.7
defusedxml==0.3
pytest-django==2.6.1

[testenv:py3.2-django1.6]
basepython = python3.2
deps = Django==1.6.3
django-filter==0.7
defusedxml==0.3
pytest-django==2.6.1

[testenv:py2.7-django1.6]
basepython = python2.7
deps = Django==1.6.3
django-filter==0.7
defusedxml==0.3
django-oauth-plus==2.2.1
oauth2==1.5.211
django-oauth2-provider==0.2.4
django-guardian==1.2.3
pytest-django==2.6.1

[testenv:py2.6-django1.6]
basepython = python2.6
deps = Django==1.6.3
django-filter==0.7
defusedxml==0.3
django-oauth-plus==2.2.1
oauth2==1.5.211
django-oauth2-provider==0.2.4
django-guardian==1.2.3
pytest-django==2.6.1

[testenv:py3.4-django1.5]
basepython = python3.4
deps = django==1.5.6
django-filter==0.7
defusedxml==0.3
pytest-django==2.6.1

[testenv:py3.3-django1.5]
basepython = python3.3
deps = django==1.5.6
django-filter==0.7
defusedxml==0.3
pytest-django==2.6.1

[testenv:py3.2-django1.5]
basepython = python3.2
deps = django==1.5.6
django-filter==0.7
defusedxml==0.3
pytest-django==2.6.1

[testenv:py2.7-django1.5]
basepython = python2.7
deps = django==1.5.6
django-filter==0.7
defusedxml==0.3
django-oauth-plus==2.2.1
oauth2==1.5.211
django-oauth2-provider==0.2.3
django-guardian==1.2.3
pytest-django==2.6.1

[testenv:py2.6-django1.5]
basepython = python2.6
deps = django==1.5.6
django-filter==0.7
defusedxml==0.3
django-oauth-plus==2.2.1
oauth2==1.5.211
django-oauth2-provider==0.2.3
django-guardian==1.2.3
pytest-django==2.6.1

[testenv:py2.7-django1.4]
basepython = python2.7
deps = django==1.4.11
django-filter==0.7
defusedxml==0.3
django-oauth-plus==2.2.1
oauth2==1.5.211
django-oauth2-provider==0.2.3
django-guardian==1.2.3
pytest-django==2.6.1

[testenv:py2.6-django1.4]
basepython = python2.6
deps = django==1.4.11
django-filter==0.7
defusedxml==0.3
django-oauth-plus==2.2.1
oauth2==1.5.211
django-oauth2-provider==0.2.3
django-guardian==1.2.3
pytest-django==2.6.1

[testenv:py3.4-djangomaster]
basepython = python3.4
deps = https://github.com/django/django/zipball/master
django-filter==0.7
defusedxml==0.3
pytest-django==2.6.1

[testenv:py3.3-djangomaster]
basepython = python3.3
deps = https://github.com/django/django/zipball/master
django-filter==0.7
defusedxml==0.3
pytest-django==2.6.1

[testenv:py2.7-djangomaster]
basepython = python3.2
deps = https://github.com/django/django/zipball/master
django-filter==0.7
defusedxml==0.3
pytest-django==2.6.1
[testenv:py27-flake8]
deps =
pytest==2.5.2
flake8==2.2.2
commands = ./runtests.py --lintonly