tap-as-a-service/.pre-commit-config.yaml
elajkat ed3b8ab564 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
2024-05-03 13:50:10 +02:00

47 lines
1.3 KiB
YAML

---
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']