9d8b990fd1
This change adds configuration for the pre-commit tool, follow-up changes will address the remaining issues in a phased approach to make the reviews simpler. This is based on the pre-commit config used in nova with some additional hooks. Follow-up changes will address the FIXME comments related to sphinx-lint and codespell, as well as update tox to enforce these checks in ci. Change-Id: I87681a19f7fa88366c2b0d310c8b3153aa6a137b
61 lines
1.9 KiB
YAML
61 lines
1.9 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)$'
|
|
- id: check-byte-order-marker
|
|
# file format and permissions
|
|
- id: check-ast
|
|
- id: debug-statements
|
|
- id: check-json
|
|
files: .*\.json$
|
|
- id: check-yaml
|
|
files: .*\.(yaml|yml)$
|
|
# FIXME(sean-k-mooney): we currently have some files
|
|
# with incorrect permission, resolve this in a follow up
|
|
# - id: check-executables-have-shebangs
|
|
# - id: check-shebang-scripts-are-executable
|
|
# git
|
|
- id: check-added-large-files
|
|
- id: check-case-conflict
|
|
- id: detect-private-key
|
|
- id: check-merge-conflict
|
|
- repo: https://github.com/Lucas-C/pre-commit-hooks
|
|
rev: v1.5.5
|
|
hooks:
|
|
- id: remove-tabs
|
|
exclude: '.*\.(svg)$'
|
|
- repo: https://opendev.org/openstack/hacking
|
|
rev: 7.0.0
|
|
hooks:
|
|
- id: hacking
|
|
additional_dependencies: []
|
|
exclude: '^(doc|releasenotes|tools)/.*$'
|
|
- repo: https://github.com/hhatto/autopep8
|
|
rev: v2.3.1
|
|
hooks:
|
|
- id: autopep8
|
|
files: '^.*\.py$'
|
|
# FIXME(sean-k-mooney): we have many typos and some false
|
|
# positives that need to be added to the dictionary
|
|
# correct this in a followup change
|
|
# - repo: https://github.com/codespell-project/codespell
|
|
# rev: v2.3.0
|
|
# hooks:
|
|
# - id: codespell
|
|
# args: ['--ignore-words=doc/dictionary.txt']
|
|
# FIXME(sean-k-mooney): we have many sphinx issues fix them
|
|
# in a separate commit to make it easier to review
|
|
# - 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]
|