
This change mainly just reorders the hooks to be easier ot read and hopefully slightly more efficent to run locally. a number of extra useful hooks are added such as the detect-private-key hook and the check-shebang-scripts-are-executable Thise were already available before but disabled. finally the check-docstring-first is added and the relevent module docs strings moved if required. Change-Id: I19a9e2adc9a029f4fbb819af1f128b874a5907e9
103 lines
3.1 KiB
YAML
103 lines
3.1 KiB
YAML
---
|
|
repos:
|
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
rev: v5.0.0
|
|
hooks:
|
|
# whitespace
|
|
- id: trailing-whitespace
|
|
- id: mixed-line-ending
|
|
args: ['--fix', 'lf']
|
|
exclude: '.*\.(svg)$'
|
|
# file format and permissions
|
|
- id: fix-byte-order-marker
|
|
- id: check-executables-have-shebangs
|
|
- id: check-shebang-scripts-are-executable
|
|
- id: check-json
|
|
files: .*\.json$
|
|
- id: check-yaml
|
|
files: .*\.(yaml|yml)$
|
|
# git
|
|
- id: check-added-large-files
|
|
- id: check-merge-conflict
|
|
- id: check-case-conflict
|
|
- id: detect-private-key
|
|
exclude: '^doc/api_samples/.*|^nova/tests/.*'
|
|
# python
|
|
- id: debug-statements
|
|
# nova/cmd/manage.py imports pdb on purpose.
|
|
exclude: 'nova/cmd/manage.py'
|
|
- id: check-docstring-first
|
|
exclude: 'nova/virt/ironic/ironic_states.py'
|
|
|
|
- repo: https://github.com/Lucas-C/pre-commit-hooks
|
|
rev: v1.5.5
|
|
hooks:
|
|
- id: remove-tabs
|
|
exclude: '.*\.(svg)$'
|
|
|
|
- repo: https://github.com/hhatto/autopep8
|
|
rev: v2.3.2
|
|
hooks:
|
|
- id: autopep8
|
|
files: '^.*\.py$'
|
|
|
|
# run hacking after autopep8 so that if it can fix
|
|
# it it will. note it will still fail in ci because
|
|
# fixing an issue changes the code and that should
|
|
# not happen in ci.
|
|
- repo: https://opendev.org/openstack/hacking
|
|
rev: 7.0.0
|
|
hooks:
|
|
- id: hacking
|
|
additional_dependencies: []
|
|
exclude: '^(doc|releasenotes|tools)/.*$'
|
|
|
|
- repo: https://github.com/codespell-project/codespell
|
|
rev: v2.4.1
|
|
hooks:
|
|
- id: codespell
|
|
args: ['--ignore-words=doc/dictionary.txt']
|
|
|
|
- repo: https://github.com/pre-commit/mirrors-mypy
|
|
rev: v1.15.0
|
|
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
|
|
)
|
|
|
|
- repo: https://github.com/sphinx-contrib/sphinx-lint
|
|
rev: v1.0.0
|
|
hooks:
|
|
- id: sphinx-lint
|
|
args: [--enable=default-role]
|
|
files: ^doc/|releasenotes|api-guide
|
|
types: [rst]
|