Files
nova/.pre-commit-config.yaml
T
Stephen Finucane e3e35ba2d0 pre-commit: Add mypy
Add mypy so we can run these checks as part of our linting step. Note
that mypy is the last item in the list of checks since flake8 is going
to catch e.g. syntax issues which should be addressed first.

This also allows us to drop use of mypywrap: rather than wrapping mypy,
we can make use of mypy's configuration to specify the files we wish to
run checks on.

Change-Id: Ie51401ead4e31ccd70ab833c59cb397f802ff188
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2023-12-20 18:31:47 +00:00

78 lines
2.4 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.4.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
# nova/cmd/manage.py imports pdb on purpose.
exclude: 'nova/cmd/manage.py'
- id: check-json
files: .*\.json$
- id: check-yaml
files: .*\.(yaml|yml)$
- 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: []
exclude: '^(doc|releasenotes|tools)/.*$'
- repo: https://github.com/pre-commit/mirrors-autopep8
rev: v2.0.4
hooks:
- id: autopep8
files: '^.*\.py$'
- repo: https://github.com/codespell-project/codespell
rev: v2.2.4
hooks:
- id: codespell
args: ['--ignore-words=doc/dictionary.txt']
- repo: https://github.com/pre-commit/mirrors-mypy
rev: v1.4.1
hooks:
- id: mypy
additional_dependencies:
- types-paramiko
# keep this in-sync with '[mypy] files' in 'setup.cfg'
files: |
(?x)(
nova/compute/manager.py
| nova/compute/pci_placement_translator.py
| nova/crypto.py
| nova/filesystem.py
| nova/limit/local.py
| nova/limit/placement.py
| nova/network/neutron.py
| nova/pci
| nova/privsep/path.py
| nova/scheduler/client/report.py
| nova/scheduler/request_filter.py
| nova/scheduler/utils.py
| nova/virt/driver.py
| nova/virt/hardware.py
| nova/virt/libvirt/machine_type_utils.py
| nova/virt/libvirt/__init__.py
| nova/virt/libvirt/cpu/__init__.py
| nova/virt/libvirt/cpu/api.py
| nova/virt/libvirt/cpu/core.py
| nova/virt/libvirt/driver.py
| nova/virt/libvirt/event.py
| nova/virt/libvirt/guest.py
| nova/virt/libvirt/host.py
| nova/virt/libvirt/utils.py
)