)]}'
{"tox.ini":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"c8eb21bba2f6e288c0080d2194379925123b7190","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[tox]"},{"line_number":2,"context_line":"minversion \u003d 2.5.0"},{"line_number":3,"context_line":"envlist \u003d docs,py36,py37,functional-py36,functional-py38,pep8,specs"},{"line_number":4,"context_line":"skipsdist \u003d True"},{"line_number":5,"context_line":"ignore_basepython_conflict \u003d True"},{"line_number":6,"context_line":""}],"source_content_type":"text/x-properties","patch_set":1,"id":"1f493fa4_16eb09b0","line":3,"range":{"start_line":3,"start_character":15,"end_line":3,"end_character":24},"updated":"2020-04-24 16:28:01.000000000","message":"We should replace these two with py38 to make it the default for a tox run.\n\nAlso, I think this will fail without a definition of functional-py38 below.","commit_id":"22fb530307a999db5a945a6a1a27b8d1409f8569"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"31b4c92ac4907a6ee600eb8eab95b6d6cf5af8d8","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[tox]"},{"line_number":2,"context_line":"minversion \u003d 2.5.0"},{"line_number":3,"context_line":"envlist \u003d docs,py36,py37,functional-py36,functional-py38,pep8,specs"},{"line_number":4,"context_line":"skipsdist \u003d True"},{"line_number":5,"context_line":"ignore_basepython_conflict \u003d True"},{"line_number":6,"context_line":""}],"source_content_type":"text/x-properties","patch_set":1,"id":"1f493fa4_995f4a0d","line":3,"range":{"start_line":3,"start_character":15,"end_line":3,"end_character":24},"in_reply_to":"1f493fa4_16eb09b0","updated":"2020-04-24 16:45:07.000000000","message":"Ah, looks like an error in how I scripted this update. It should have just replaced py37 with py38, but I didn\u0027t account for additional jobs like functional being in the default environment list.\n\nWill update shortly.","commit_id":"22fb530307a999db5a945a6a1a27b8d1409f8569"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"727d5b171882434614bfae38a2293a7190975a2a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[tox]"},{"line_number":2,"context_line":"minversion \u003d 2.5.0"},{"line_number":3,"context_line":"envlist \u003d docs,py38,functional,pep8,specs"},{"line_number":4,"context_line":"skipsdist \u003d True"},{"line_number":5,"context_line":"ignore_basepython_conflict \u003d True"},{"line_number":6,"context_line":""}],"source_content_type":"text/x-properties","patch_set":2,"id":"1f493fa4_59cb0271","line":3,"range":{"start_line":3,"start_character":20,"end_line":3,"end_character":30},"updated":"2020-04-24 16:55:18.000000000","message":"This should maybe be functional-py38, as functional will just run under whatever python3 version is the default.","commit_id":"18d3108f786703b45a1e1130fad77c057d1a3c65"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"727d5b171882434614bfae38a2293a7190975a2a","unresolved":false,"context_lines":[{"line_number":60,"context_line":"setenv \u003d OS_TEST_PATH\u003d{toxinidir}/octavia/tests/functional"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"[testenv:functional-py38]"},{"line_number":63,"context_line":"basepython \u003d python3.7"},{"line_number":64,"context_line":"setenv \u003d OS_TEST_PATH\u003d{toxinidir}/octavia/tests/functional"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"[testenv:debug]"}],"source_content_type":"text/x-properties","patch_set":2,"id":"1f493fa4_b90326b8","line":63,"range":{"start_line":63,"start_character":21,"end_line":63,"end_character":22},"updated":"2020-04-24 16:55:18.000000000","message":"s/8 right? :)","commit_id":"18d3108f786703b45a1e1130fad77c057d1a3c65"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"64a2a9d24d131569843345bf8ee96c60144fc49a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[tox]"},{"line_number":2,"context_line":"minversion \u003d 2.5.0"},{"line_number":3,"context_line":"envlist \u003d docs,py38,functional-py38,pep8,specs"},{"line_number":4,"context_line":"skipsdist \u003d True"},{"line_number":5,"context_line":"ignore_basepython_conflict \u003d True"},{"line_number":6,"context_line":""}],"source_content_type":"text/x-properties","patch_set":3,"id":"1f493fa4_294d9f3d","line":3,"updated":"2020-04-29 22:05:58.000000000","message":"Technically we should not remove the py36 as it is still required per the PTI: https://governance.openstack.org/tc/reference/runtimes/victoria.html#python-runtimes-for-victoria\nIt is also the default for CentOS8, so I think we should leave it in. I\u0027m fine dropping 3.7 however.","commit_id":"50761e9e659102fb0ac51babe983fd0d0d8905af"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"485594c6f0c835ba49f359be20266f5afb47bfa8","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[tox]"},{"line_number":2,"context_line":"minversion \u003d 2.5.0"},{"line_number":3,"context_line":"envlist \u003d docs,py38,functional-py38,pep8,specs"},{"line_number":4,"context_line":"skipsdist \u003d True"},{"line_number":5,"context_line":"ignore_basepython_conflict \u003d True"},{"line_number":6,"context_line":""}],"source_content_type":"text/x-properties","patch_set":3,"id":"1f493fa4_768f7229","line":3,"in_reply_to":"1f493fa4_294d9f3d","updated":"2020-04-30 14:40:51.000000000","message":"This isn\u0027t removing the py37 job, that already happened when we changed to the victoria template, it just changes what gets run if you run \u0027tox\u0027 without any arguments in a repo.  You can still run \u0027tox -e py37\u0027 with this change.","commit_id":"50761e9e659102fb0ac51babe983fd0d0d8905af"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"2ef50d3e94d9a7a0099917334231f560cabc3572","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[tox]"},{"line_number":2,"context_line":"minversion \u003d 2.5.0"},{"line_number":3,"context_line":"envlist \u003d docs,py38,functional-py38,pep8,specs"},{"line_number":4,"context_line":"skipsdist \u003d True"},{"line_number":5,"context_line":"ignore_basepython_conflict \u003d True"},{"line_number":6,"context_line":""}],"source_content_type":"text/x-properties","patch_set":3,"id":"ff570b3c_eafc9773","line":3,"in_reply_to":"1f493fa4_768f7229","updated":"2020-05-29 17:32:05.000000000","message":"Does this make sense Michael?\n\nAnother option floated on the mailing list was just to make these \"py3\" so whichever version the developer has installed locally is used.\n\nAs stated, this does impact what is run in the gate.","commit_id":"50761e9e659102fb0ac51babe983fd0d0d8905af"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"40bc92a7cdafb23e25ff59875bb405558c47ac79","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[tox]"},{"line_number":2,"context_line":"minversion \u003d 2.5.0"},{"line_number":3,"context_line":"envlist \u003d docs,py38,functional-py38,pep8,specs"},{"line_number":4,"context_line":"skipsdist \u003d True"},{"line_number":5,"context_line":"ignore_basepython_conflict \u003d True"},{"line_number":6,"context_line":""}],"source_content_type":"text/x-properties","patch_set":3,"id":"ff570b3c_30af20e4","line":3,"in_reply_to":"ff570b3c_cd6e0dff","updated":"2020-05-29 19:16:26.000000000","message":"Michael - yes, I understand, I guess I\u0027ve just set the bar lower and don\u0027t assume anyone runs \u0027tox\u0027, maybe pep8 and unit tests, especially since you can\u0027t always run the functional tests without devstack for a repo (see neutron).  But I see your point in leaving this at what the PTI says - 3.6 and 3.8.","commit_id":"50761e9e659102fb0ac51babe983fd0d0d8905af"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"0f72f58ff98989e7baa359102a4ba47ff669279d","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[tox]"},{"line_number":2,"context_line":"minversion \u003d 2.5.0"},{"line_number":3,"context_line":"envlist \u003d docs,py38,functional-py38,pep8,specs"},{"line_number":4,"context_line":"skipsdist \u003d True"},{"line_number":5,"context_line":"ignore_basepython_conflict \u003d True"},{"line_number":6,"context_line":""}],"source_content_type":"text/x-properties","patch_set":3,"id":"ff570b3c_cd6e0dff","line":3,"in_reply_to":"ff570b3c_eafc9773","updated":"2020-05-29 18:56:37.000000000","message":"My point here is that the PTI says we must test 3.6 and 3.8, so they both should be in the default tox list IMO.\n\nWe have seen a few incompatible (bugs to some degree) changes between 3.6 and 3.8. Frankly I think 3.8 is buggy.\nEnd developers can run whatever they want, but this is defining the \"default\" tox list for the project, which I think should align to the PTI requirements.\n\nBrian, this isn\u0027t used for gate jobs, it is the default list (and order) of tests that run when you simply run \"tox\". So, this is the list of tests we expect developers to run and pass prior to posting a patch.","commit_id":"50761e9e659102fb0ac51babe983fd0d0d8905af"}]}
