-
Notifications
You must be signed in to change notification settings - Fork 8
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
Update testing matrix #20
Changes from all commits
693c486
baa129b
b22683e
915649d
90a18be
ee56aa2
efe7a4c
2bea080
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -16,9 +16,9 @@ | |
'Operating System :: OS Independent', | ||
'Programming Language :: Python :: 2', | ||
'Programming Language :: Python :: 3', | ||
'Programming Language :: Python :: 2.6', | ||
'Programming Language :: Python :: 2.7', | ||
'Programming Language :: Python :: 3.3', | ||
'Programming Language :: Python :: 3.4', | ||
'Programming Language :: Python :: 3.5', | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. thanks, I always forget about these |
||
'Topic :: Internet :: WWW/HTTP', | ||
], | ||
packages=find_packages(exclude=['tests']), | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,17 +4,19 @@ | |
# When updating the envlist, be sure to also update TOX_ENV in .travis.yml | ||
envlist = | ||
docs, | ||
{py27,py34}-django{1.6,1.7,1.8}-drf{3.0,3.1,3.2} | ||
py27-django1.6-drf3.2, | ||
py27-django1.7-drf{3.2,3.3}, | ||
{py27,py34,py35}-django{1.8,1.9}-drf{3.2,3.3} | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. To add a single combo as I mentioned earlier, you would add a new line to this section, like:
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. To clarify, do you want Django 1.7 or both 1.6 and 1.7? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. (django-rest-framework 3.3 doesn't support Django 1.6) |
||
|
||
[testenv] | ||
commands = {envpython} runtests.py [] | ||
deps = | ||
django1.6: Django==1.6.3 | ||
django1.7: Django==1.7.10 | ||
django1.8: Django==1.8.4 | ||
drf3.0: djangorestframework==3.0.5 | ||
drf3.1: djangorestframework==3.1.3 | ||
drf3.2: djangorestframework==3.2.2 | ||
django1.6: Django>=1.6,<1.7 | ||
django1.7: Django>=1.7,<1.8 | ||
django1.8: Django>=1.8,<1.9 | ||
django1.9: Django>=1.9,<1.10 | ||
drf3.2: djangorestframework>=3.2,<3.3 | ||
drf3.3: djangorestframework>=3.3,<3.4 | ||
-r{toxinidir}/requirements/dev.txt | ||
setenv = | ||
PYTHONDONTWRITEBYTECODE=1 | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
don't we still need to list each individual version?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Don't know if you saw the commit message for that change? :-)
https://github.com/edmorley/hawkrest/commit/ecddb7df8de3813b2b6d352bb0018acd567d648e
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This isn't entirely true. I think what you mean is that tox controls the virtualenv for each Python. The machine still needs each version of Python installed otherwise tox won't be able to find an executable for it. I think the tests were working before (with the duplicate entry typo) because travis makes some versions available by default. I'd rather see those versions declared explicitly for when travis removes old versions in the defaults.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This unfortunately won't work. Every entry under the 'python' key creates another matrix of tests. If I added both Python 3.5 and 2.7 here we'd run the tests twice, duplicating them (since both Travis and Tox would be doing all the permutations). See:
https://docs.travis-ci.com/user/customizing-the-build/#Build-Matrix
(And yeah Travis makes python2.7, python3.4 available by default)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To be clearer: we can either control the python version at the Travis level, or the tox level, but not both. I'm open to doing either :-)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
oh, weird! Can you just put a comment above this line then? Something like "we aren't explicitly declaring all versions needed by tox because ...". I think this is a weird assumption by Travis. A comment will prevent someone from trying to fix it later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The language versions are intended to be used for a testing matrix, rather than "these are the list of versions I want installed in the same image", but I agree sometimes the Travis testing matrix isn't very flexible. Treeherder has to go to some great contortions to get the exact environment we need for each test suite (we abuse the matrix include option quite horrifically: link).