)]}'
{".pre-commit-config.yaml":[{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"f879cfabd2498626838b5fb7093d448665a24fcf","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"670d6953_8bfcf1a2","updated":"2022-09-28 17:15:59.000000000","message":"Explain pre-commit in contributor guide.","commit_id":"9c0d8be81154ad83d02ee4eedbc79a3791de406a"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"7f15cd0b41caefea9c5c008b1bf751bd488f8d94","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"85b61c81_740e623c","in_reply_to":"670d6953_8bfcf1a2","updated":"2022-09-29 11:05:37.000000000","message":"Done","commit_id":"9c0d8be81154ad83d02ee4eedbc79a3791de406a"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"f879cfabd2498626838b5fb7093d448665a24fcf","unresolved":true,"context_lines":[{"line_number":10,"context_line":"      - id: debug-statements"},{"line_number":11,"context_line":"      - id: check-yaml"},{"line_number":12,"context_line":"      - id: check-added-large-files"},{"line_number":13,"context_line":"-   repo: https://github.com/psf/black"},{"line_number":14,"context_line":"    rev: 22.8.0"},{"line_number":15,"context_line":"    hooks:"},{"line_number":16,"context_line":"      - id: black"},{"line_number":17,"context_line":"        stages: [push]"},{"line_number":18,"context_line":"-   repo: https://github.com/PyCQA/flake8"},{"line_number":19,"context_line":"    rev: 5.0.4"},{"line_number":20,"context_line":"    hooks:"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"c8fe7d8c_9c5363c7","line":17,"range":{"start_line":13,"start_character":0,"end_line":17,"end_character":22},"updated":"2022-09-28 17:15:59.000000000","message":"Remove and try to run \"tox -epy3,functional,pep8\" in push stage instead.","commit_id":"9c0d8be81154ad83d02ee4eedbc79a3791de406a"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"4347a0b17ed72e145adf823e309360c1decc2a0a","unresolved":false,"context_lines":[{"line_number":10,"context_line":"      - id: debug-statements"},{"line_number":11,"context_line":"      - id: check-yaml"},{"line_number":12,"context_line":"      - id: check-added-large-files"},{"line_number":13,"context_line":"-   repo: https://github.com/psf/black"},{"line_number":14,"context_line":"    rev: 22.8.0"},{"line_number":15,"context_line":"    hooks:"},{"line_number":16,"context_line":"      - id: black"},{"line_number":17,"context_line":"        stages: [push]"},{"line_number":18,"context_line":"-   repo: https://github.com/PyCQA/flake8"},{"line_number":19,"context_line":"    rev: 5.0.4"},{"line_number":20,"context_line":"    hooks:"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"5b9e5c38_d1243495","line":17,"range":{"start_line":13,"start_character":0,"end_line":17,"end_character":22},"in_reply_to":"8c04eafc_c6852d90","updated":"2022-10-12 16:28:58.000000000","message":"Done","commit_id":"9c0d8be81154ad83d02ee4eedbc79a3791de406a"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"8f0d35bde4e67d3395611705193e9d5a41a7b208","unresolved":true,"context_lines":[{"line_number":10,"context_line":"      - id: debug-statements"},{"line_number":11,"context_line":"      - id: check-yaml"},{"line_number":12,"context_line":"      - id: check-added-large-files"},{"line_number":13,"context_line":"-   repo: https://github.com/psf/black"},{"line_number":14,"context_line":"    rev: 22.8.0"},{"line_number":15,"context_line":"    hooks:"},{"line_number":16,"context_line":"      - id: black"},{"line_number":17,"context_line":"        stages: [push]"},{"line_number":18,"context_line":"-   repo: https://github.com/PyCQA/flake8"},{"line_number":19,"context_line":"    rev: 5.0.4"},{"line_number":20,"context_line":"    hooks:"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"8c04eafc_c6852d90","line":17,"range":{"start_line":13,"start_character":0,"end_line":17,"end_character":22},"in_reply_to":"c8fe7d8c_9c5363c7","updated":"2022-09-29 10:34:54.000000000","message":"I ran a couple of tests. TL;DR: running tox seems way too slow IMO.\n\n1. With flake8:\n\n- repo: local\n  hooks:\n    - id: flake8\n      name: flake8\n      additional_dependencies:\n        - hacking\u003e\u003d3.1.0,\u003c3.2.0\n      language: python\n      entry: flake8\n      files: \u0027^.*\\.py$\u0027\n      exclude: \u0027^(doc|releasenotes|tools)/.*$\u0027\n      \n$ time pre-commit run --all-files\nflake8...................................................................Passed\n\nreal    0m8,312s\nuser    1m22,788s\nsys     0m1,660s\n\n2. With tox -epep8\n\n- repo: local\n  hooks:\n    - id: tox\n      name: tox -epep8 tests\n      language: system\n      entry: tox -epep8\n      pass_filenames: false\n      \n$ time pre-commit run --all-files\ntox -epep8 tests.........................................................Passed\n\nreal    1m10,875s\nuser    8m30,872s\nsys     0m6,498s\n\n\nAs you see the difference is significant, and with tox it will always check all files even if they haven\u0027t been changed. In my test I\u0027ve let flake8 check all files as well. In reality it would only run on files that were added to the commit. Hence I suggest we use the flake8 hook. Other openstack projects to the same.","commit_id":"9c0d8be81154ad83d02ee4eedbc79a3791de406a"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"f879cfabd2498626838b5fb7093d448665a24fcf","unresolved":true,"context_lines":[{"line_number":15,"context_line":"    hooks:"},{"line_number":16,"context_line":"      - id: black"},{"line_number":17,"context_line":"        stages: [push]"},{"line_number":18,"context_line":"-   repo: https://github.com/PyCQA/flake8"},{"line_number":19,"context_line":"    rev: 5.0.4"},{"line_number":20,"context_line":"    hooks:"},{"line_number":21,"context_line":"      - id: flake8"},{"line_number":22,"context_line":"        stages: [push]"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"7441daeb_8e79576f","line":22,"range":{"start_line":18,"start_character":0,"end_line":22,"end_character":22},"updated":"2022-09-28 17:15:59.000000000","message":"Check how fast the flake8 hook is. If it really only checks modified files it should be very fast and then we might want to use it as pre-commit hook anyway. tox will always be slower as it works on all files.","commit_id":"9c0d8be81154ad83d02ee4eedbc79a3791de406a"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"7f15cd0b41caefea9c5c008b1bf751bd488f8d94","unresolved":false,"context_lines":[{"line_number":15,"context_line":"    hooks:"},{"line_number":16,"context_line":"      - id: black"},{"line_number":17,"context_line":"        stages: [push]"},{"line_number":18,"context_line":"-   repo: https://github.com/PyCQA/flake8"},{"line_number":19,"context_line":"    rev: 5.0.4"},{"line_number":20,"context_line":"    hooks:"},{"line_number":21,"context_line":"      - id: flake8"},{"line_number":22,"context_line":"        stages: [push]"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"8c8dbab3_6c9a4b17","line":22,"range":{"start_line":18,"start_character":0,"end_line":22,"end_character":22},"in_reply_to":"7441daeb_8e79576f","updated":"2022-09-29 11:05:37.000000000","message":"See my other comment below. I\u0027d say flake8 is fast enough to have it as pre-commit hook.","commit_id":"9c0d8be81154ad83d02ee4eedbc79a3791de406a"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"c8418e4192864dc9e9ffc57d21445f0971a43ca5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"247f35dc_8cb6fe38","updated":"2022-12-20 14:02:15.000000000","message":"LGTM, it doesn\u0027t cover everything that is done by the tox -epep8 checker, but I guess that\u0027s enough to prevent from pushing broken code.","commit_id":"e150e032e9c6942befc5a90aafe6be3a01d57938"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"84085bcd959c971d17b9cd11b7b0b17082faabba","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"5dc952b1_342329d9","updated":"2023-01-11 09:52:53.000000000","message":"recheck gate unblocked","commit_id":"e150e032e9c6942befc5a90aafe6be3a01d57938"}]}
