)]}'
{"setup.cfg":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"cbc5ca81f1eb8f1231f679b6246d170f69f24dd0","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    Programming Language :: Python :: 2"},{"line_number":25,"context_line":"    Programming Language :: Python :: 2.7"},{"line_number":26,"context_line":"    Programming Language :: Python :: 3"},{"line_number":27,"context_line":"    Programming Language :: Python :: 3.5"},{"line_number":28,"context_line":"    Programming Language :: Python :: 3.6"},{"line_number":29,"context_line":"    Programming Language :: Python :: 3.7"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-ttcn-cfg","patch_set":2,"id":"bfb3d3c7_c7cc0abe","line":27,"range":{"start_line":27,"start_character":0,"end_line":27,"end_character":41},"updated":"2019-05-23 14:50:10.000000000","message":"Hmm, I should probably get rid of this","commit_id":"3a670b5211295d36b2914722e664d2e9ad3e7114"},{"author":{"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},"change_message_id":"866a51377fdf0650f60b4d570cafed1337e54e02","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    Programming Language :: Python :: 2"},{"line_number":25,"context_line":"    Programming Language :: Python :: 2.7"},{"line_number":26,"context_line":"    Programming Language :: Python :: 3"},{"line_number":27,"context_line":"    Programming Language :: Python :: 3.5"},{"line_number":28,"context_line":"    Programming Language :: Python :: 3.6"},{"line_number":29,"context_line":"    Programming Language :: Python :: 3.7"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-ttcn-cfg","patch_set":2,"id":"bfb3d3c7_e79cae5e","line":27,"range":{"start_line":27,"start_character":0,"end_line":27,"end_character":41},"in_reply_to":"bfb3d3c7_c7cc0abe","updated":"2019-05-23 15:00:28.000000000","message":"For pbr it might be okay. We tend to try to support a wider range of Python versions than the rest of OpenStack because it is used outside of OpenStack too.","commit_id":"3a670b5211295d36b2914722e664d2e9ad3e7114"},{"author":{"_account_id":24162,"name":"Sorin Sbârnea","display_name":"zbr","email":"ssbarnea@redhat.com","username":"ssbarnea","status":"do not feed the troll 🥕"},"change_message_id":"6c8705afe149f0ff0e56d87f2076fa45dd4b220a","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    Programming Language :: Python :: 2"},{"line_number":25,"context_line":"    Programming Language :: Python :: 2.7"},{"line_number":26,"context_line":"    Programming Language :: Python :: 3"},{"line_number":27,"context_line":"    Programming Language :: Python :: 3.5"},{"line_number":28,"context_line":"    Programming Language :: Python :: 3.6"},{"line_number":29,"context_line":"    Programming Language :: Python :: 3.7"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-ttcn-cfg","patch_set":2,"id":"bfb3d3c7_c7ddea42","line":27,"range":{"start_line":27,"start_character":0,"end_line":27,"end_character":41},"in_reply_to":"bfb3d3c7_c7cc0abe","updated":"2019-05-23 14:59:15.000000000","message":"I think is better to keep it for a while, especially as\nwe do have a job testing it.\n\nI am not so keen about bumping without any overlapping between supported version ranges. 3.4-3.5 -\u003e 3.6-3.7","commit_id":"3a670b5211295d36b2914722e664d2e9ad3e7114"}],"tox.ini":[{"author":{"_account_id":24162,"name":"Sorin Sbârnea","display_name":"zbr","email":"ssbarnea@redhat.com","username":"ssbarnea","status":"do not feed the troll 🥕"},"change_message_id":"6c8705afe149f0ff0e56d87f2076fa45dd4b220a","unresolved":false,"context_lines":[{"line_number":2,"context_line":"minversion \u003d 3.1"},{"line_number":3,"context_line":"envlist \u003d pep8,py{37,36,35,27},docs"},{"line_number":4,"context_line":"ignore_basepython_conflict \u003d True"},{"line_number":5,"context_line":"skip_missing_interpreters \u003d True"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"[testenv]"},{"line_number":8,"context_line":"usedevelop \u003d True"}],"source_content_type":"text/x-properties","patch_set":2,"id":"bfb3d3c7_278e462e","side":"PARENT","line":5,"range":{"start_line":5,"start_character":0,"end_line":5,"end_character":32},"updated":"2019-05-23 14:59:15.000000000","message":"Removing this is a bug. This is an important feature for developers. CI does not use it by (job) design.","commit_id":"20d95468bcc5df499b17e28b6ce440ad03a9a94f"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"df920ce0d3a768f48813738cb86a1c4c53f262e0","unresolved":false,"context_lines":[{"line_number":2,"context_line":"minversion \u003d 3.1"},{"line_number":3,"context_line":"envlist \u003d pep8,py{37,36,35,27},docs"},{"line_number":4,"context_line":"ignore_basepython_conflict \u003d True"},{"line_number":5,"context_line":"skip_missing_interpreters \u003d True"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"[testenv]"},{"line_number":8,"context_line":"usedevelop \u003d True"}],"source_content_type":"text/x-properties","patch_set":2,"id":"bfb3d3c7_8a49e460","side":"PARENT","line":5,"range":{"start_line":5,"start_character":0,"end_line":5,"end_character":32},"in_reply_to":"bfb3d3c7_278e462e","updated":"2019-05-29 16:12:18.000000000","message":"We don\u0027t use this anywhere else in openstack. What makes pbr special enough that it needs this?","commit_id":"20d95468bcc5df499b17e28b6ce440ad03a9a94f"},{"author":{"_account_id":24162,"name":"Sorin Sbârnea","display_name":"zbr","email":"ssbarnea@redhat.com","username":"ssbarnea","status":"do not feed the troll 🥕"},"change_message_id":"6c8705afe149f0ff0e56d87f2076fa45dd4b220a","unresolved":false,"context_lines":[{"line_number":18,"context_line":"commands \u003d stestr run --suppress-attachments {posargs}"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"[testenv:pep8]"},{"line_number":21,"context_line":"basepython \u003d python3"},{"line_number":22,"context_line":"commands \u003d flake8 {posargs}"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"[testenv:docs]"}],"source_content_type":"text/x-properties","patch_set":2,"id":"bfb3d3c7_47ad7a86","side":"PARENT","line":21,"range":{"start_line":21,"start_character":0,"end_line":21,"end_character":20},"updated":"2019-05-23 14:59:15.000000000","message":"this critical, linters do not work the same on py2 as in py3, this is why we force use of py3 on them.\n\nWe will be able to remove the basepython trick only when we will drop support for python2 completely.","commit_id":"20d95468bcc5df499b17e28b6ce440ad03a9a94f"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"df920ce0d3a768f48813738cb86a1c4c53f262e0","unresolved":false,"context_lines":[{"line_number":18,"context_line":"commands \u003d stestr run --suppress-attachments {posargs}"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"[testenv:pep8]"},{"line_number":21,"context_line":"basepython \u003d python3"},{"line_number":22,"context_line":"commands \u003d flake8 {posargs}"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"[testenv:docs]"}],"source_content_type":"text/x-properties","patch_set":2,"id":"bfb3d3c7_ca3efcbf","side":"PARENT","line":21,"range":{"start_line":21,"start_character":0,"end_line":21,"end_character":20},"in_reply_to":"bfb3d3c7_47ad7a86","updated":"2019-05-29 16:12:18.000000000","message":"Added to testenv (which was what I meant to do day 1)","commit_id":"20d95468bcc5df499b17e28b6ce440ad03a9a94f"},{"author":{"_account_id":24162,"name":"Sorin Sbârnea","display_name":"zbr","email":"ssbarnea@redhat.com","username":"ssbarnea","status":"do not feed the troll 🥕"},"change_message_id":"74b2f2360df588ac56712cf2205b0bddf35d63c9","unresolved":false,"context_lines":[{"line_number":27,"context_line":"commands \u003d python setup.py build_sphinx"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"[testenv:releasenotes]"},{"line_number":30,"context_line":"basepython \u003d python3"},{"line_number":31,"context_line":"deps \u003d -r{toxinidir}/doc/requirements.txt"},{"line_number":32,"context_line":"commands \u003d"},{"line_number":33,"context_line":"  rm -rf releasenotes/build"}],"source_content_type":"text/x-properties","patch_set":2,"id":"bfb3d3c7_87aa3d16","side":"PARENT","line":30,"range":{"start_line":30,"start_character":0,"end_line":30,"end_character":20},"updated":"2019-05-29 16:05:39.000000000","message":"please bring basepython back, we do not want to endup running with py27","commit_id":"20d95468bcc5df499b17e28b6ce440ad03a9a94f"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"df920ce0d3a768f48813738cb86a1c4c53f262e0","unresolved":false,"context_lines":[{"line_number":27,"context_line":"commands \u003d python setup.py build_sphinx"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"[testenv:releasenotes]"},{"line_number":30,"context_line":"basepython \u003d python3"},{"line_number":31,"context_line":"deps \u003d -r{toxinidir}/doc/requirements.txt"},{"line_number":32,"context_line":"commands \u003d"},{"line_number":33,"context_line":"  rm -rf releasenotes/build"}],"source_content_type":"text/x-properties","patch_set":2,"id":"bfb3d3c7_ea3980d6","side":"PARENT","line":30,"range":{"start_line":30,"start_character":0,"end_line":30,"end_character":20},"in_reply_to":"bfb3d3c7_87aa3d16","updated":"2019-05-29 16:12:18.000000000","message":"Done","commit_id":"20d95468bcc5df499b17e28b6ce440ad03a9a94f"},{"author":{"_account_id":24162,"name":"Sorin Sbârnea","display_name":"zbr","email":"ssbarnea@redhat.com","username":"ssbarnea","status":"do not feed the troll 🥕"},"change_message_id":"74b2f2360df588ac56712cf2205b0bddf35d63c9","unresolved":false,"context_lines":[{"line_number":34,"context_line":"  sphinx-build -W -b html -d releasenotes/build/doctrees releasenotes/source releasenotes/build/html"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"[testenv:venv]"},{"line_number":37,"context_line":"basepython \u003d python3"},{"line_number":38,"context_line":"commands \u003d {posargs}"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"[testenv:cover]"}],"source_content_type":"text/x-properties","patch_set":2,"id":"bfb3d3c7_a77ae1b6","side":"PARENT","line":37,"range":{"start_line":37,"start_character":13,"end_line":37,"end_character":20},"updated":"2019-05-29 16:05:39.000000000","message":"ditto","commit_id":"20d95468bcc5df499b17e28b6ce440ad03a9a94f"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"df920ce0d3a768f48813738cb86a1c4c53f262e0","unresolved":false,"context_lines":[{"line_number":34,"context_line":"  sphinx-build -W -b html -d releasenotes/build/doctrees releasenotes/source releasenotes/build/html"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"[testenv:venv]"},{"line_number":37,"context_line":"basepython \u003d python3"},{"line_number":38,"context_line":"commands \u003d {posargs}"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"[testenv:cover]"}],"source_content_type":"text/x-properties","patch_set":2,"id":"bfb3d3c7_8a3484df","side":"PARENT","line":37,"range":{"start_line":37,"start_character":13,"end_line":37,"end_character":20},"in_reply_to":"bfb3d3c7_a77ae1b6","updated":"2019-05-29 16:12:18.000000000","message":"Done","commit_id":"20d95468bcc5df499b17e28b6ce440ad03a9a94f"},{"author":{"_account_id":24162,"name":"Sorin Sbârnea","display_name":"zbr","email":"ssbarnea@redhat.com","username":"ssbarnea","status":"do not feed the troll 🥕"},"change_message_id":"74b2f2360df588ac56712cf2205b0bddf35d63c9","unresolved":false,"context_lines":[{"line_number":38,"context_line":"commands \u003d {posargs}"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"[testenv:cover]"},{"line_number":41,"context_line":"basepython \u003d python3"},{"line_number":42,"context_line":"setenv \u003d"},{"line_number":43,"context_line":"  PYTHON\u003dcoverage run --source pbr --parallel-mode"},{"line_number":44,"context_line":"commands \u003d"}],"source_content_type":"text/x-properties","patch_set":2,"id":"bfb3d3c7_67370901","side":"PARENT","line":41,"range":{"start_line":41,"start_character":13,"end_line":41,"end_character":20},"updated":"2019-05-29 16:05:39.000000000","message":"ditto","commit_id":"20d95468bcc5df499b17e28b6ce440ad03a9a94f"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"df920ce0d3a768f48813738cb86a1c4c53f262e0","unresolved":false,"context_lines":[{"line_number":38,"context_line":"commands \u003d {posargs}"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"[testenv:cover]"},{"line_number":41,"context_line":"basepython \u003d python3"},{"line_number":42,"context_line":"setenv \u003d"},{"line_number":43,"context_line":"  PYTHON\u003dcoverage run --source pbr --parallel-mode"},{"line_number":44,"context_line":"commands \u003d"}],"source_content_type":"text/x-properties","patch_set":2,"id":"bfb3d3c7_aa2f0886","side":"PARENT","line":41,"range":{"start_line":41,"start_character":13,"end_line":41,"end_character":20},"in_reply_to":"bfb3d3c7_67370901","updated":"2019-05-29 16:12:18.000000000","message":"Done","commit_id":"20d95468bcc5df499b17e28b6ce440ad03a9a94f"},{"author":{"_account_id":24162,"name":"Sorin Sbârnea","display_name":"zbr","email":"ssbarnea@redhat.com","username":"ssbarnea","status":"do not feed the troll 🥕"},"change_message_id":"74b2f2360df588ac56712cf2205b0bddf35d63c9","unresolved":false,"context_lines":[{"line_number":56,"context_line":"show-source \u003d true"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"[testenv:lower-constraints]"},{"line_number":59,"context_line":"basepython \u003d python3"},{"line_number":60,"context_line":"deps \u003d"},{"line_number":61,"context_line":"  -c{toxinidir}/lower-constraints.txt"},{"line_number":62,"context_line":"  -r{toxinidir}/test-requirements.txt"}],"source_content_type":"text/x-properties","patch_set":2,"id":"bfb3d3c7_e75d3947","side":"PARENT","line":59,"range":{"start_line":59,"start_character":13,"end_line":59,"end_character":20},"updated":"2019-05-29 16:05:39.000000000","message":"ditto","commit_id":"20d95468bcc5df499b17e28b6ce440ad03a9a94f"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"df920ce0d3a768f48813738cb86a1c4c53f262e0","unresolved":false,"context_lines":[{"line_number":56,"context_line":"show-source \u003d true"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"[testenv:lower-constraints]"},{"line_number":59,"context_line":"basepython \u003d python3"},{"line_number":60,"context_line":"deps \u003d"},{"line_number":61,"context_line":"  -c{toxinidir}/lower-constraints.txt"},{"line_number":62,"context_line":"  -r{toxinidir}/test-requirements.txt"}],"source_content_type":"text/x-properties","patch_set":2,"id":"bfb3d3c7_4a50cc0b","side":"PARENT","line":59,"range":{"start_line":59,"start_character":13,"end_line":59,"end_character":20},"in_reply_to":"bfb3d3c7_e75d3947","updated":"2019-05-29 16:12:18.000000000","message":"Done","commit_id":"20d95468bcc5df499b17e28b6ce440ad03a9a94f"},{"author":{"_account_id":24162,"name":"Sorin Sbârnea","display_name":"zbr","email":"ssbarnea@redhat.com","username":"ssbarnea","status":"do not feed the troll 🥕"},"change_message_id":"6c8705afe149f0ff0e56d87f2076fa45dd4b220a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[tox]"},{"line_number":2,"context_line":"minversion \u003d 3.1"},{"line_number":3,"context_line":"envlist \u003d py27,py36,py37,pep8"},{"line_number":4,"context_line":"ignore_basepython_conflict \u003d True"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"[testenv]"}],"source_content_type":"text/x-properties","patch_set":2,"id":"bfb3d3c7_e7b90ee9","line":3,"range":{"start_line":3,"start_character":10,"end_line":3,"end_character":29},"updated":"2019-05-23 14:59:15.000000000","message":"pep8 must be kept first as is fast and more likely to fail on each change than the others,\n\nWhy to remove docs from default testing?","commit_id":"3a670b5211295d36b2914722e664d2e9ad3e7114"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"df920ce0d3a768f48813738cb86a1c4c53f262e0","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[tox]"},{"line_number":2,"context_line":"minversion \u003d 3.1"},{"line_number":3,"context_line":"envlist \u003d py27,py36,py37,pep8"},{"line_number":4,"context_line":"ignore_basepython_conflict \u003d True"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"[testenv]"}],"source_content_type":"text/x-properties","patch_set":2,"id":"bfb3d3c7_2a7238ae","line":3,"range":{"start_line":3,"start_character":10,"end_line":3,"end_character":29},"in_reply_to":"bfb3d3c7_e7b90ee9","updated":"2019-05-29 16:12:18.000000000","message":"Done","commit_id":"3a670b5211295d36b2914722e664d2e9ad3e7114"},{"author":{"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},"change_message_id":"866a51377fdf0650f60b4d570cafed1337e54e02","unresolved":false,"context_lines":[{"line_number":3,"context_line":"envlist \u003d py27,py36,py37,pep8"},{"line_number":4,"context_line":"ignore_basepython_conflict \u003d True"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"[testenv]"},{"line_number":7,"context_line":"usedevelop \u003d True"},{"line_number":8,"context_line":"passenv \u003d PBR_INTEGRATION PIPFLAGS PIPVERSION PBRVERSION REPODIR WHEELHOUSE PROJECTS"},{"line_number":9,"context_line":"setenv \u003d"}],"source_content_type":"text/x-properties","patch_set":2,"id":"bfb3d3c7_87ccd26a","line":6,"updated":"2019-05-23 15:00:28.000000000","message":"Should add basepython \u003d python3 to the base testenv?","commit_id":"3a670b5211295d36b2914722e664d2e9ad3e7114"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"df920ce0d3a768f48813738cb86a1c4c53f262e0","unresolved":false,"context_lines":[{"line_number":3,"context_line":"envlist \u003d py27,py36,py37,pep8"},{"line_number":4,"context_line":"ignore_basepython_conflict \u003d True"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"[testenv]"},{"line_number":7,"context_line":"usedevelop \u003d True"},{"line_number":8,"context_line":"passenv \u003d PBR_INTEGRATION PIPFLAGS PIPVERSION PBRVERSION REPODIR WHEELHOUSE PROJECTS"},{"line_number":9,"context_line":"setenv \u003d"}],"source_content_type":"text/x-properties","patch_set":2,"id":"bfb3d3c7_0a7df46c","line":6,"in_reply_to":"bfb3d3c7_38740efe","updated":"2019-05-29 16:12:18.000000000","message":"\u003e Using basepython\u003dpython3 is wrong as it breaks on centos-7.\n \u003e Luckly I found a workaround, see https://review.opendev.org/#/c/661286/\n\nHuh? That\u0027s got to be a bug with tox. I don\u0027t see that behavior on Ubuntu 18.04 or Fedora 30.\n\nI\u0027ve added \u0027[testenv] basepython \u003d python3\u0027 which is what we\u0027re doing everywhere else.","commit_id":"3a670b5211295d36b2914722e664d2e9ad3e7114"},{"author":{"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},"change_message_id":"a298d568311baab05db03196631b900b97feae7f","unresolved":false,"context_lines":[{"line_number":3,"context_line":"envlist \u003d py27,py36,py37,pep8"},{"line_number":4,"context_line":"ignore_basepython_conflict \u003d True"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"[testenv]"},{"line_number":7,"context_line":"usedevelop \u003d True"},{"line_number":8,"context_line":"passenv \u003d PBR_INTEGRATION PIPFLAGS PIPVERSION PBRVERSION REPODIR WHEELHOUSE PROJECTS"},{"line_number":9,"context_line":"setenv \u003d"}],"source_content_type":"text/x-properties","patch_set":2,"id":"bfb3d3c7_58546221","line":6,"in_reply_to":"bfb3d3c7_38740efe","updated":"2019-05-24 16:49:27.000000000","message":"That\u0027s not the behavior I\u0027m seeing in tox 3.5.3. With py36 listed first in the envlist I still get a py27 pep8 env if I remove basepython. Is it a recent tox change?\n\nAlso, python3 not pointing at the correct python version sounds like a distro bug to me.","commit_id":"3a670b5211295d36b2914722e664d2e9ad3e7114"},{"author":{"_account_id":24162,"name":"Sorin Sbârnea","display_name":"zbr","email":"ssbarnea@redhat.com","username":"ssbarnea","status":"do not feed the troll 🥕"},"change_message_id":"7fafb96f356a26ec9cbdbff6f2eab518f34ce983","unresolved":false,"context_lines":[{"line_number":3,"context_line":"envlist \u003d py27,py36,py37,pep8"},{"line_number":4,"context_line":"ignore_basepython_conflict \u003d True"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"[testenv]"},{"line_number":7,"context_line":"usedevelop \u003d True"},{"line_number":8,"context_line":"passenv \u003d PBR_INTEGRATION PIPFLAGS PIPVERSION PBRVERSION REPODIR WHEELHOUSE PROJECTS"},{"line_number":9,"context_line":"setenv \u003d"}],"source_content_type":"text/x-properties","patch_set":2,"id":"bfb3d3c7_a78476b2","line":6,"in_reply_to":"bfb3d3c7_87ccd26a","updated":"2019-05-23 15:15:22.000000000","message":"Nope, the base testenv is used as base for unittests which must use the python intepreter defined by their env. If we do this we will invalidate them.\n\nThe only place where we want/need to force use of python3 is the non-unit/functional tests: linting, docs and alike.\n\nMainly all this pain is caused by the fact that tox does not have a way to mention minimal version of interpreter to be used for a specific environmnet (long story..., unlikely to happen).\n\nThere is another workaround which may work, to list py3* interpreters before py37 in envlist. Obviously that this will not work if the developer runs the tests on a system\nthat has only py27 installed.\n\nIt is problematic because we have no idea which py3x is available on developer system and we do still want to maximize the chance of running tox succesfully without mentioning any specific envs.\n\nSo now that I look back, as long we remember to keep all python3 version listed before the py27 in envlist, we can remove the basepython\u003d... options.","commit_id":"3a670b5211295d36b2914722e664d2e9ad3e7114"},{"author":{"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},"change_message_id":"32a39cf6cff7f25a28b63a144a6e1d5dd87a9e7d","unresolved":false,"context_lines":[{"line_number":3,"context_line":"envlist \u003d py27,py36,py37,pep8"},{"line_number":4,"context_line":"ignore_basepython_conflict \u003d True"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"[testenv]"},{"line_number":7,"context_line":"usedevelop \u003d True"},{"line_number":8,"context_line":"passenv \u003d PBR_INTEGRATION PIPFLAGS PIPVERSION PBRVERSION REPODIR WHEELHOUSE PROJECTS"},{"line_number":9,"context_line":"setenv \u003d"}],"source_content_type":"text/x-properties","patch_set":2,"id":"bfb3d3c7_ff77409f","line":6,"in_reply_to":"bfb3d3c7_a78476b2","updated":"2019-05-24 13:52:30.000000000","message":"This is the point of the ignore_basepython_conflict, which is why I objected to it being added in the previous patch. It allows you to set a python version in the base testenv and still have the unit tests use the correct version based on the env name. If we don\u0027t do that then we don\u0027t need the option (or the higher minversion).\n\nBut we should just do that.","commit_id":"3a670b5211295d36b2914722e664d2e9ad3e7114"},{"author":{"_account_id":24162,"name":"Sorin Sbârnea","display_name":"zbr","email":"ssbarnea@redhat.com","username":"ssbarnea","status":"do not feed the troll 🥕"},"change_message_id":"17b68cab0751d46c895ddc66700b5da9f950bfeb","unresolved":false,"context_lines":[{"line_number":3,"context_line":"envlist \u003d py27,py36,py37,pep8"},{"line_number":4,"context_line":"ignore_basepython_conflict \u003d True"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"[testenv]"},{"line_number":7,"context_line":"usedevelop \u003d True"},{"line_number":8,"context_line":"passenv \u003d PBR_INTEGRATION PIPFLAGS PIPVERSION PBRVERSION REPODIR WHEELHOUSE PROJECTS"},{"line_number":9,"context_line":"setenv \u003d"}],"source_content_type":"text/x-properties","patch_set":2,"id":"bfb3d3c7_38740efe","line":6,"in_reply_to":"bfb3d3c7_ff77409f","updated":"2019-05-24 16:30:45.000000000","message":"Using basepython\u003dpython3 is wrong as it breaks on centos-7.\nLuckly I found a workaround, see https://review.opendev.org/#/c/661286/\n\ntox determines the precendence order based on envlist, so listing py3* ones before py27 achieves the desired effect, without risking of running with py34 which will break lots of job as many python modules already dropped support for it.","commit_id":"3a670b5211295d36b2914722e664d2e9ad3e7114"},{"author":{"_account_id":24162,"name":"Sorin Sbârnea","display_name":"zbr","email":"ssbarnea@redhat.com","username":"ssbarnea","status":"do not feed the troll 🥕"},"change_message_id":"7349bf3907378efaf91039fec95a3e0ff77515e8","unresolved":false,"context_lines":[{"line_number":2,"context_line":"minversion \u003d 3.1"},{"line_number":3,"context_line":"envlist \u003d pep8,py27,py36,py37,docs"},{"line_number":4,"context_line":"ignore_basepython_conflict \u003d True"},{"line_number":5,"context_line":"basepython \u003d python3"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"[testenv]"},{"line_number":8,"context_line":"usedevelop \u003d True"}],"source_content_type":"text/x-properties","patch_set":4,"id":"bfb3d3c7_20e9f7b5","line":5,"range":{"start_line":5,"start_character":13,"end_line":5,"end_character":20},"updated":"2019-05-29 18:05:27.000000000","message":"AFAIK this is invalid option for [tox], can be specified only on testenvs.\n\nAlso you cannot use it in default one as it will break the py3* ones.","commit_id":"ae81dfb93b1d90ba32ffdde9eb836fddbc88f20b"},{"author":{"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},"change_message_id":"cd4caa3946b46e1f09bf065a157bd9d508efd398","unresolved":false,"context_lines":[{"line_number":2,"context_line":"minversion \u003d 3.1"},{"line_number":3,"context_line":"envlist \u003d pep8,py27,py36,py37,docs"},{"line_number":4,"context_line":"ignore_basepython_conflict \u003d True"},{"line_number":5,"context_line":"basepython \u003d python3"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"[testenv]"},{"line_number":8,"context_line":"usedevelop \u003d True"}],"source_content_type":"text/x-properties","patch_set":4,"id":"bfb3d3c7_5be09ccd","line":5,"range":{"start_line":5,"start_character":13,"end_line":5,"end_character":20},"in_reply_to":"bfb3d3c7_20e9f7b5","updated":"2019-05-29 18:51:52.000000000","message":"Yeah, this isn\u0027t causing an error but it isn\u0027t working either. pep8, for example, is using py27 with this change. It needs to go in [testenv].","commit_id":"ae81dfb93b1d90ba32ffdde9eb836fddbc88f20b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"cdad467958385964117077c2b63e098cc2462d18","unresolved":false,"context_lines":[{"line_number":2,"context_line":"minversion \u003d 3.1"},{"line_number":3,"context_line":"envlist \u003d pep8,py27,py36,py37,docs"},{"line_number":4,"context_line":"ignore_basepython_conflict \u003d True"},{"line_number":5,"context_line":"basepython \u003d python3"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"[testenv]"},{"line_number":8,"context_line":"usedevelop \u003d True"}],"source_content_type":"text/x-properties","patch_set":4,"id":"bfb3d3c7_390cc6a3","line":5,"range":{"start_line":5,"start_character":13,"end_line":5,"end_character":20},"in_reply_to":"bfb3d3c7_5be09ccd","updated":"2019-05-30 10:14:55.000000000","message":"Yup, that\u0027s what I meant to do but I was rushing. My bad","commit_id":"ae81dfb93b1d90ba32ffdde9eb836fddbc88f20b"}]}
