From e62d94fc981f2a54381c6f1d3978e1e89c58d560 Mon Sep 17 00:00:00 2001 From: Slawek Kaplonski Date: Thu, 2 May 2024 15:02:04 +0200 Subject: [PATCH] Add pre-commit configuration 'pre-commit' tool [1] provides an extensible way to configure hooks which can be run automatically before each commit. That way we can make sure that code send to review is passing base static analysis checks like e.g. bandit, flake8 or hacking. For now this is optional to use and not integrated in e.g. tox.ini file but we can integrate it there too as next step. [1] https://pre-commit.com/ Change-Id: Ic3ec4d699b80d2e31fa8d52da71069b3f1104d9b --- .pre-commit-config.yaml | 48 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 .pre-commit-config.yaml diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 00000000..ff62380d --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,48 @@ +--- +default_language_version: + # force all unspecified python hooks to run python3 + python: python3 +repos: + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v4.5.0 + hooks: + - id: trailing-whitespace + - id: mixed-line-ending + args: ['--fix', 'lf'] + exclude: '.*\.(svg)$' + - id: check-byte-order-marker + - id: check-executables-have-shebangs + - id: check-merge-conflict + - id: debug-statements + - id: check-yaml + - repo: https://github.com/lucas-c/pre-commit-hooks + rev: v1.5.4 + hooks: + - id: remove-tabs + exclude: '.*\.(svg)$' + - repo: https://opendev.org/openstack/hacking + rev: 6.1.0 + hooks: + - id: hacking + additional_dependencies: ['neutron-lib'] + exclude: '^(doc|releasenotes|tools)/.*$' + - repo: local + hooks: + - id: flake8 + name: flake8 + additional_dependencies: + - hacking>=6.1.0,<6.2.0 + - neutron-lib + language: python + entry: flake8 + files: '^.*\.py$' + exclude: '^(doc|releasenotes|tools)/.*$' +# todo(slaweq): enable pylint check once all issues in the current code will +# be solved +# - id: pylint +# name: pylint +# entry: .tox/pep8/bin/pylint +# files: ^networking-bgpvpn/ +# language: system +# types: [python] +# args: ['--rcfile=.pylintrc', '--output-format=colorized']

AltStyle によって変換されたページ (->オリジナル) /