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. To enable the hook install precommit and after install the hook in the local repository: $ pip install --user pre-commit $ pre-commit install --allow-missing-config [1] https://pre-commit.com/ Change-Id: I3c92c95e014f75fe6c3d4abaa243c2195f80e6f1
This commit is contained in:
parent
6bb93cae53
commit
ed3b8ab564
46
.pre-commit-config.yaml
Normal file
46
.pre-commit-config.yaml
Normal file
@ -0,0 +1,46 @@
|
||||
---
|
||||
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)/.*$'
|
||||
- id: pylint
|
||||
name: pylint
|
||||
entry: .tox/pep8/bin/pylint
|
||||
files: '^.*\.py$'
|
||||
language: system
|
||||
types: [python]
|
||||
args: ['--rcfile=.pylintrc', '--output-format=colorized']
|
Loading…
x
Reference in New Issue
Block a user