)]}'
{".zuul.yaml":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"520f43851e0a98fe54868f57d295c240dd1308f4","unresolved":false,"context_lines":[{"line_number":129,"context_line":"      - openstack-python3-victoria-jobs"},{"line_number":130,"context_line":"      - publish-openstack-docs-pti"},{"line_number":131,"context_line":"      - release-notes-jobs-python3"},{"line_number":132,"context_line":"      - openstack-cover-jobs"},{"line_number":133,"context_line":"    check:"},{"line_number":134,"context_line":"      jobs:"},{"line_number":135,"context_line":"        - kuryr-kubernetes-tempest:"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"9f560f44_595fbf40","line":132,"range":{"start_line":132,"start_character":8,"end_line":132,"end_character":28},"updated":"2020-07-27 23:07:51.000000000","message":"so this drops sudo rights but we need them for our functional tests so we either need to just run the unit tests or create a job that allows sudo to work.","commit_id":"526fc38eccf16349080882f8833ec0dbe45709bd"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"520f43851e0a98fe54868f57d295c240dd1308f4","unresolved":false,"context_lines":[{"line_number":134,"context_line":"      jobs:"},{"line_number":135,"context_line":"        - kuryr-kubernetes-tempest:"},{"line_number":136,"context_line":"            voting: false"},{"line_number":137,"context_line":"        - openstack-tox-functional-ovs-with-sudo"},{"line_number":138,"context_line":"        - os-vif-ovs"},{"line_number":139,"context_line":"        - os-vif-ovs-iptables"},{"line_number":140,"context_line":"        - os-vif-linuxbridge"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"9f560f44_395c8b4a","line":137,"range":{"start_line":137,"start_character":7,"end_line":137,"end_character":48},"updated":"2020-07-27 23:07:51.000000000","message":"like we do here","commit_id":"526fc38eccf16349080882f8833ec0dbe45709bd"}],"/COMMIT_MSG":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"62c0252d3196702278efab8a94517cd41a18a792","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"update tox envs and support pdf docs"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"- This change adds support for building pdf docs."},{"line_number":10,"context_line":"- This change add a bindep.txt file and add"},{"line_number":11,"context_line":"  the required deps for pdf docs"},{"line_number":12,"context_line":"- This change groups the tox sections into logicaly"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"ff570b3c_bf7cffeb","line":9,"range":{"start_line":9,"start_character":2,"end_line":9,"end_character":14},"updated":"2020-05-25 09:23:40.000000000","message":"nit: That\u0027s a lot of duplication :)\n\n  This change:\n\n  - adds support for building PDF docs.\n  - adds a bindep.txt file...","commit_id":"ba4bb5e5db4bdcf1d67952d3499ca86c32382a49"}],"tox.ini":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"62c0252d3196702278efab8a94517cd41a18a792","unresolved":false,"context_lines":[{"line_number":3,"context_line":"envlist \u003d py3{6,7,8},pep8,docs,releasenotes,cover"},{"line_number":4,"context_line":"skipsdist \u003d True"},{"line_number":5,"context_line":"ignore_basepython_conflict \u003d True"},{"line_number":6,"context_line":"# skip default execution of test env if the interpreter version is not present."},{"line_number":7,"context_line":"skip_missing_interpreters \u003d True"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"[testenv]"},{"line_number":10,"context_line":"basepython \u003d python3"}],"source_content_type":"text/x-properties","patch_set":2,"id":"ff570b3c_3ff58f84","line":7,"range":{"start_line":6,"start_character":0,"end_line":7,"end_character":32},"updated":"2020-05-25 09:23:40.000000000","message":"This is dangerous since it will mark tests as \"passing\" if you don\u0027t have the correct interpreter. If people want to do this, they can alias tox to \u0027tox --skip-missing-interpreters true\u0027.","commit_id":"ba4bb5e5db4bdcf1d67952d3499ca86c32382a49"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"66c785f998263bfd0f893721721b0dc6f5c14337","unresolved":false,"context_lines":[{"line_number":3,"context_line":"envlist \u003d py3{6,7,8},pep8,docs,releasenotes,cover"},{"line_number":4,"context_line":"skipsdist \u003d True"},{"line_number":5,"context_line":"ignore_basepython_conflict \u003d True"},{"line_number":6,"context_line":"# skip default execution of test env if the interpreter version is not present."},{"line_number":7,"context_line":"skip_missing_interpreters \u003d True"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"[testenv]"},{"line_number":10,"context_line":"basepython \u003d python3"}],"source_content_type":"text/x-properties","patch_set":2,"id":"ff570b3c_85728810","line":7,"range":{"start_line":6,"start_character":0,"end_line":7,"end_character":32},"in_reply_to":"ff570b3c_05f798f7","updated":"2020-05-25 11:53:29.000000000","message":"ok i can live with just py3\n\nthat was what the \"unit\" env would be ill update this and drop the skip.","commit_id":"ba4bb5e5db4bdcf1d67952d3499ca86c32382a49"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"bf20270369c573675a8c34fa5fac5f1a94a76717","unresolved":false,"context_lines":[{"line_number":3,"context_line":"envlist \u003d py3{6,7,8},pep8,docs,releasenotes,cover"},{"line_number":4,"context_line":"skipsdist \u003d True"},{"line_number":5,"context_line":"ignore_basepython_conflict \u003d True"},{"line_number":6,"context_line":"# skip default execution of test env if the interpreter version is not present."},{"line_number":7,"context_line":"skip_missing_interpreters \u003d True"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"[testenv]"},{"line_number":10,"context_line":"basepython \u003d python3"}],"source_content_type":"text/x-properties","patch_set":2,"id":"ff570b3c_05f798f7","line":7,"range":{"start_line":6,"start_character":0,"end_line":7,"end_character":32},"in_reply_to":"ff570b3c_2508dc26","updated":"2020-05-25 11:15:46.000000000","message":"Upstream, sure, but downstream, not so much (and I don\u0027t mean just Red Hat, but also third-party CI). Personally, I don\u0027t ever run tox without arguments and the pyNN environments are available automatically so leaving the hardcoded option here is no big deal. py3 also works for me though, as does what you\u0027ve done minus skip_missing_interpreters","commit_id":"ba4bb5e5db4bdcf1d67952d3499ca86c32382a49"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"b75449f8cb33d6fb91f79e02d76a5bb899562e62","unresolved":false,"context_lines":[{"line_number":3,"context_line":"envlist \u003d py3{6,7,8},pep8,docs,releasenotes,cover"},{"line_number":4,"context_line":"skipsdist \u003d True"},{"line_number":5,"context_line":"ignore_basepython_conflict \u003d True"},{"line_number":6,"context_line":"# skip default execution of test env if the interpreter version is not present."},{"line_number":7,"context_line":"skip_missing_interpreters \u003d True"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"[testenv]"},{"line_number":10,"context_line":"basepython \u003d python3"}],"source_content_type":"text/x-properties","patch_set":2,"id":"ff570b3c_2508dc26","line":7,"range":{"start_line":6,"start_character":0,"end_line":7,"end_character":32},"in_reply_to":"ff570b3c_3ff58f84","updated":"2020-05-25 10:53:13.000000000","message":"it is not dangerous in the context of the ci as we ensure that the interpreter is present in the jobs.\n\nif we do not add this then i want to remvoe all py* envs form the default list and add a generic unit env that will use your default python 3.\n\ni can make that change if you prefer but im not happy with hardcodeing a python version like we do right now espcially not python3.7\n\ni also expect people to read the output when the run test locally. we can be defensicive but there is a limit.\nif this was a ci issue i would agree but its not.","commit_id":"ba4bb5e5db4bdcf1d67952d3499ca86c32382a49"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"62c0252d3196702278efab8a94517cd41a18a792","unresolved":false,"context_lines":[{"line_number":9,"context_line":"[testenv]"},{"line_number":10,"context_line":"basepython \u003d python3"},{"line_number":11,"context_line":"usedevelop \u003d True"},{"line_number":12,"context_line":"install_command \u003d pip install -U {opts} {packages}"},{"line_number":13,"context_line":"setenv \u003d"},{"line_number":14,"context_line":"  VIRTUAL_ENV\u003d{envdir}"},{"line_number":15,"context_line":"  CONSTRAINTS_OPT\u003d-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}"}],"source_content_type":"text/x-properties","patch_set":2,"id":"ff570b3c_9f201bfa","line":12,"range":{"start_line":12,"start_character":0,"end_line":12,"end_character":50},"updated":"2020-05-25 09:23:40.000000000","message":"This should probably be undefined. It\u0027s effectively the default","commit_id":"ba4bb5e5db4bdcf1d67952d3499ca86c32382a49"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"62c0252d3196702278efab8a94517cd41a18a792","unresolved":false,"context_lines":[{"line_number":17,"context_line":"  {env:CONSTRAINTS_OPT}"},{"line_number":18,"context_line":"  -r{toxinidir}/requirements.txt"},{"line_number":19,"context_line":"  -r{toxinidir}/test-requirements.txt"},{"line_number":20,"context_line":"whitelist_externals \u003d"},{"line_number":21,"context_line":"    bash"},{"line_number":22,"context_line":"    rm"},{"line_number":23,"context_line":"    make"},{"line_number":24,"context_line":"commands \u003d stestr run --black-regex \".tests.functional\" {posargs}"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"[testenv:functional]"}],"source_content_type":"text/x-properties","patch_set":2,"id":"ff570b3c_7f4427b8","line":23,"range":{"start_line":20,"start_character":0,"end_line":23,"end_character":8},"updated":"2020-05-25 09:23:40.000000000","message":"You only use this in one environment, so you should declare this there","commit_id":"ba4bb5e5db4bdcf1d67952d3499ca86c32382a49"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"62c0252d3196702278efab8a94517cd41a18a792","unresolved":false,"context_lines":[{"line_number":29,"context_line":"commands \u003d"},{"line_number":30,"context_line":"    stestr run --black-regex \".tests.unit\" \u0027{posargs}\u0027"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"# ----------------------- docs -----------------------------"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"[testenv:docs]"},{"line_number":35,"context_line":"deps \u003d"}],"source_content_type":"text/x-properties","patch_set":2,"id":"ff570b3c_ff38373e","line":32,"range":{"start_line":32,"start_character":0,"end_line":32,"end_character":60},"updated":"2020-05-25 09:23:40.000000000","message":"nit: personally, I think this is kind of unnecessary. The file is very small as-is","commit_id":"ba4bb5e5db4bdcf1d67952d3499ca86c32382a49"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"66c785f998263bfd0f893721721b0dc6f5c14337","unresolved":false,"context_lines":[{"line_number":29,"context_line":"commands \u003d"},{"line_number":30,"context_line":"    stestr run --black-regex \".tests.unit\" \u0027{posargs}\u0027"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"# ----------------------- docs -----------------------------"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"[testenv:docs]"},{"line_number":35,"context_line":"deps \u003d"}],"source_content_type":"text/x-properties","patch_set":2,"id":"ff570b3c_255bbc87","line":32,"range":{"start_line":32,"start_character":0,"end_line":32,"end_character":60},"in_reply_to":"ff570b3c_2a138b68","updated":"2020-05-25 11:53:29.000000000","message":"im going to leave the new grouping but ill drop the seperators and i can just as people to move envs in review if they add new ones.","commit_id":"ba4bb5e5db4bdcf1d67952d3499ca86c32382a49"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"b75449f8cb33d6fb91f79e02d76a5bb899562e62","unresolved":false,"context_lines":[{"line_number":29,"context_line":"commands \u003d"},{"line_number":30,"context_line":"    stestr run --black-regex \".tests.unit\" \u0027{posargs}\u0027"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"# ----------------------- docs -----------------------------"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"[testenv:docs]"},{"line_number":35,"context_line":"deps \u003d"}],"source_content_type":"text/x-properties","patch_set":2,"id":"ff570b3c_2a138b68","line":32,"range":{"start_line":32,"start_character":0,"end_line":32,"end_character":60},"in_reply_to":"ff570b3c_ff38373e","updated":"2020-05-25 10:53:13.000000000","message":"this file is small but i have been looking at a few other pojects where things are not group together and i find it hard to follow somethime where things are set.\n\ne.g. if flake8, haracking section are defiend seperate form the pep8 env its hard to follow.\n\nits not strictly requried but i wanted to encurage pople defineing new jobs to think about what related jobs it should grouped with.","commit_id":"ba4bb5e5db4bdcf1d67952d3499ca86c32382a49"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"62c0252d3196702278efab8a94517cd41a18a792","unresolved":false,"context_lines":[{"line_number":70,"context_line":"  -r{toxinidir}/test-requirements.txt"},{"line_number":71,"context_line":"  -r{toxinidir}/doc/requirements.txt"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"[testenv:cover]"},{"line_number":74,"context_line":"envdir \u003d {toxworkdir}/venv"},{"line_number":75,"context_line":"setenv \u003d"},{"line_number":76,"context_line":"    {[testenv]setenv}"},{"line_number":77,"context_line":"    PYTHON\u003dcoverage run --source os_vif,vif_plug_linux_bridge,vif_plug_ovs,vif_plug_noop  --parallel-mode"},{"line_number":78,"context_line":"commands \u003d"},{"line_number":79,"context_line":"    stestr run {posargs}"},{"line_number":80,"context_line":"    coverage combine"},{"line_number":81,"context_line":"    coverage html -d cover"},{"line_number":82,"context_line":"    coverage xml -o cover/coverage.xml"},{"line_number":83,"context_line":"    coverage report"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"# ----------------------- linters --------------------------"},{"line_number":86,"context_line":""}],"source_content_type":"text/x-properties","patch_set":2,"id":"ff570b3c_bf17dfa3","line":83,"range":{"start_line":73,"start_character":0,"end_line":83,"end_character":19},"updated":"2020-05-25 09:23:40.000000000","message":"I don\u0027t see any zuul changes to use this. Until we have them, is this actually worth having?","commit_id":"ba4bb5e5db4bdcf1d67952d3499ca86c32382a49"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"b75449f8cb33d6fb91f79e02d76a5bb899562e62","unresolved":false,"context_lines":[{"line_number":70,"context_line":"  -r{toxinidir}/test-requirements.txt"},{"line_number":71,"context_line":"  -r{toxinidir}/doc/requirements.txt"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"[testenv:cover]"},{"line_number":74,"context_line":"envdir \u003d {toxworkdir}/venv"},{"line_number":75,"context_line":"setenv \u003d"},{"line_number":76,"context_line":"    {[testenv]setenv}"},{"line_number":77,"context_line":"    PYTHON\u003dcoverage run --source os_vif,vif_plug_linux_bridge,vif_plug_ovs,vif_plug_noop  --parallel-mode"},{"line_number":78,"context_line":"commands \u003d"},{"line_number":79,"context_line":"    stestr run {posargs}"},{"line_number":80,"context_line":"    coverage combine"},{"line_number":81,"context_line":"    coverage html -d cover"},{"line_number":82,"context_line":"    coverage xml -o cover/coverage.xml"},{"line_number":83,"context_line":"    coverage report"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"# ----------------------- linters --------------------------"},{"line_number":86,"context_line":""}],"source_content_type":"text/x-properties","patch_set":2,"id":"ff570b3c_4a207fb1","line":83,"range":{"start_line":73,"start_character":0,"end_line":83,"end_character":19},"in_reply_to":"ff570b3c_bf17dfa3","updated":"2020-05-25 10:53:13.000000000","message":"we are ment to have this and there is a standard job to run this i belive. i can go added it.","commit_id":"ba4bb5e5db4bdcf1d67952d3499ca86c32382a49"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7ebefc8e0ee6892ed3b5e587257b0d1cf58edf48","unresolved":false,"context_lines":[{"line_number":7,"context_line":"[testenv]"},{"line_number":8,"context_line":"basepython \u003d python3"},{"line_number":9,"context_line":"usedevelop \u003d True"},{"line_number":10,"context_line":"install_command \u003d pip install -U {opts} {packages}"},{"line_number":11,"context_line":"setenv \u003d"},{"line_number":12,"context_line":"  VIRTUAL_ENV\u003d{envdir}"},{"line_number":13,"context_line":"  CONSTRAINTS_OPT\u003d-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}"}],"source_content_type":"text/x-properties","patch_set":3,"id":"ff570b3c_2b9eed06","line":10,"range":{"start_line":10,"start_character":0,"end_line":10,"end_character":50},"updated":"2020-05-25 14:03:15.000000000","message":"This still here. I guess it should be a separate change, but where you\u0027re moving things around anyway it would be good to resolve now","commit_id":"829719700746b927461b6f981ba82902e6c252de"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7ebefc8e0ee6892ed3b5e587257b0d1cf58edf48","unresolved":false,"context_lines":[{"line_number":9,"context_line":"usedevelop \u003d True"},{"line_number":10,"context_line":"install_command \u003d pip install -U {opts} {packages}"},{"line_number":11,"context_line":"setenv \u003d"},{"line_number":12,"context_line":"  VIRTUAL_ENV\u003d{envdir}"},{"line_number":13,"context_line":"  CONSTRAINTS_OPT\u003d-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}"},{"line_number":14,"context_line":"deps \u003d"},{"line_number":15,"context_line":"  {env:CONSTRAINTS_OPT}"}],"source_content_type":"text/x-properties","patch_set":3,"id":"ff570b3c_9d02e008","line":12,"range":{"start_line":12,"start_character":0,"end_line":12,"end_character":22},"updated":"2020-05-25 14:03:15.000000000","message":"(for later) this is unnecessary too","commit_id":"829719700746b927461b6f981ba82902e6c252de"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7ebefc8e0ee6892ed3b5e587257b0d1cf58edf48","unresolved":false,"context_lines":[{"line_number":21,"context_line":"setenv \u003d"},{"line_number":22,"context_line":"    {[testenv]setenv}"},{"line_number":23,"context_line":"commands \u003d"},{"line_number":24,"context_line":"    stestr run --black-regex \".tests.unit\" \u0027{posargs}\u0027"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"[testenv:docs]"},{"line_number":27,"context_line":"deps \u003d"}],"source_content_type":"text/x-properties","patch_set":3,"id":"ff570b3c_bdfd240a","line":24,"range":{"start_line":24,"start_character":43,"end_line":24,"end_character":54},"updated":"2020-05-25 14:03:15.000000000","message":"(for later) These quotes shouldn\u0027t be here since they prevent us from passing arbitrary arguments to stestr, which is helpful for things like\n\n  tox -e functional -- -n path/to/file.py","commit_id":"829719700746b927461b6f981ba82902e6c252de"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7ebefc8e0ee6892ed3b5e587257b0d1cf58edf48","unresolved":false,"context_lines":[{"line_number":33,"context_line":"envdir \u003d {toxworkdir}/docs"},{"line_number":34,"context_line":"deps \u003d {[testenv:docs]deps}"},{"line_number":35,"context_line":"whitelist_externals \u003d"},{"line_number":36,"context_line":"    rm"},{"line_number":37,"context_line":"    make"},{"line_number":38,"context_line":"commands \u003d"},{"line_number":39,"context_line":"  rm -rf doc/build/pdf"}],"source_content_type":"text/x-properties","patch_set":3,"id":"ff570b3c_8b8e19ce","line":36,"range":{"start_line":36,"start_character":2,"end_line":36,"end_character":4},"updated":"2020-05-25 14:03:15.000000000","message":"nit","commit_id":"829719700746b927461b6f981ba82902e6c252de"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7ebefc8e0ee6892ed3b5e587257b0d1cf58edf48","unresolved":false,"context_lines":[{"line_number":64,"context_line":"  -r{toxinidir}/doc/requirements.txt"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"[testenv:cover]"},{"line_number":67,"context_line":"envdir \u003d {toxworkdir}/venv"},{"line_number":68,"context_line":"setenv \u003d"},{"line_number":69,"context_line":"    {[testenv]setenv}"},{"line_number":70,"context_line":"    PYTHON\u003dcoverage run --source os_vif,vif_plug_linux_bridge,vif_plug_ovs,vif_plug_noop  --parallel-mode"}],"source_content_type":"text/x-properties","patch_set":3,"id":"ff570b3c_eb619513","line":67,"range":{"start_line":67,"start_character":0,"end_line":67,"end_character":26},"updated":"2020-05-25 14:03:15.000000000","message":"This won\u0027t work because \u0027[testenv:deps] deps\u0027 !\u003d \u0027[testenv:cover] deps\u0027. It\u0027ll simply recreate this variable every time. I\u0027d suggest \u0027shared\u0027. You can share this between venv, pep8, and functional.","commit_id":"829719700746b927461b6f981ba82902e6c252de"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7ebefc8e0ee6892ed3b5e587257b0d1cf58edf48","unresolved":false,"context_lines":[{"line_number":66,"context_line":"[testenv:cover]"},{"line_number":67,"context_line":"envdir \u003d {toxworkdir}/venv"},{"line_number":68,"context_line":"setenv \u003d"},{"line_number":69,"context_line":"    {[testenv]setenv}"},{"line_number":70,"context_line":"    PYTHON\u003dcoverage run --source os_vif,vif_plug_linux_bridge,vif_plug_ovs,vif_plug_noop  --parallel-mode"},{"line_number":71,"context_line":"commands \u003d"},{"line_number":72,"context_line":"    stestr run {posargs}"}],"source_content_type":"text/x-properties","patch_set":3,"id":"ff570b3c_ebbcf56d","line":69,"range":{"start_line":69,"start_character":2,"end_line":69,"end_character":4},"updated":"2020-05-25 14:03:15.000000000","message":"nit","commit_id":"829719700746b927461b6f981ba82902e6c252de"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7ebefc8e0ee6892ed3b5e587257b0d1cf58edf48","unresolved":false,"context_lines":[{"line_number":90,"context_line":"enable-extensions \u003d H106,H203"},{"line_number":91,"context_line":"builtins \u003d _"},{"line_number":92,"context_line":"exclude \u003d .venv,.git,.tox,dist,*lib/python*,*egg,build"},{"line_number":93,"context_line":"max-complexity \u003d 30"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"[hacking]"},{"line_number":96,"context_line":"import_exceptions \u003d os_vif.i18n"}],"source_content_type":"text/x-properties","patch_set":3,"id":"ff570b3c_8b2a998d","line":93,"range":{"start_line":93,"start_character":17,"end_line":93,"end_character":19},"updated":"2020-05-25 14:03:15.000000000","message":"(for later cleanup) This is rather high. Surely we can drop this or use the default?","commit_id":"829719700746b927461b6f981ba82902e6c252de"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"35e2d3a5cb694644aa21d7d7cf378c3541bb879e","unresolved":false,"context_lines":[{"line_number":20,"context_line":"setenv \u003d"},{"line_number":21,"context_line":"    {[testenv]setenv}"},{"line_number":22,"context_line":"commands \u003d"},{"line_number":23,"context_line":"    stestr run --black-regex \".tests.unit\" {posargs}"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"[testenv:docs]"},{"line_number":26,"context_line":"deps \u003d"}],"source_content_type":"text/x-properties","patch_set":6,"id":"9f560f44_5b856ace","line":23,"range":{"start_line":23,"start_character":2,"end_line":23,"end_character":4},"updated":"2020-08-05 09:11:15.000000000","message":"nit: care to fix this while we\u0027re here? (the setenv above too)","commit_id":"d363e3b69ad8ebb645020ad8ec8a70949a189bb0"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"35e2d3a5cb694644aa21d7d7cf378c3541bb879e","unresolved":false,"context_lines":[{"line_number":57,"context_line":"[testenv:venv]"},{"line_number":58,"context_line":"commands \u003d {posargs}"},{"line_number":59,"context_line":"deps \u003d"},{"line_number":60,"context_line":"  {env:CONSTRAINTS_OPT}"},{"line_number":61,"context_line":"  -r{toxinidir}/requirements.txt"},{"line_number":62,"context_line":"  -r{toxinidir}/test-requirements.txt"},{"line_number":63,"context_line":"  -r{toxinidir}/doc/requirements.txt"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"[testenv:cover]"}],"source_content_type":"text/x-properties","patch_set":6,"id":"9f560f44_9b25420c","line":62,"range":{"start_line":60,"start_character":0,"end_line":62,"end_character":37},"updated":"2020-08-05 09:11:15.000000000","message":"You can just use\n\n  {[testenv]deps}\n\nand avoid repeating yourself","commit_id":"d363e3b69ad8ebb645020ad8ec8a70949a189bb0"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"35e2d3a5cb694644aa21d7d7cf378c3541bb879e","unresolved":false,"context_lines":[{"line_number":66,"context_line":"envdir \u003d {toxworkdir}/shared"},{"line_number":67,"context_line":"setenv \u003d"},{"line_number":68,"context_line":"  {[testenv]setenv}"},{"line_number":69,"context_line":"  PYTHON\u003dcoverage run --source os_vif,vif_plug_linux_bridge,vif_plug_ovs,vif_plug_noop  --parallel-mode"},{"line_number":70,"context_line":"commands \u003d"},{"line_number":71,"context_line":"  stestr run --black-regex \".tests.functional\" {posargs}"},{"line_number":72,"context_line":"  coverage combine"}],"source_content_type":"text/x-properties","patch_set":6,"id":"9f560f44_db1b3ac7","line":69,"range":{"start_line":69,"start_character":87,"end_line":69,"end_character":88},"updated":"2020-08-05 09:11:15.000000000","message":"nit","commit_id":"d363e3b69ad8ebb645020ad8ec8a70949a189bb0"}]}
