enable pre-commit lints from main ironic repo

Brought over the same lints as used in the main ironic repo via
pre-commit and ruff. Updated tox.ini to use pre-commit the same way.

Change-Id: Ic2138427fd408a581cfbcb9c9da84074d1a2bfa8
Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
This commit is contained in:
Doug Goldstein
2025-02-02 11:29:29 -05:00
parent a736e8263f
commit 5564ceea09
3 changed files with 85 additions and 6 deletions

66
.pre-commit-config.yaml Normal file
View File

@@ -0,0 +1,66 @@
---
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
# NOTE(JayF): We shouldn't modify release notes after their
# associated release. Instead, ignore these minor lint issues.
- id: mixed-line-ending
args: ['--fix', 'lf']
exclude: |
(?x)(
.*.svg$|
)
- id: fix-byte-order-marker
- id: check-merge-conflict
- id: debug-statements
- id: check-json
files: .*\.json$
- id: check-yaml
files: .*\.(yaml|yml)$
exclude: releasenotes/.*$
- 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/codespell-project/codespell
rev: v2.4.1
hooks:
- id: codespell
args: [--write-changes]
- repo: https://github.com/sphinx-contrib/sphinx-lint
rev: v1.0.0
hooks:
- id: sphinx-lint
args: [--enable=default-role]
files: ^doc/|releasenotes|api-ref
- repo: https://opendev.org/openstack/bashate
rev: 2.1.0
hooks:
- id: bashate
args: ["-iE006,E044", "-eE005,E042"]
name: bashate
description: This hook runs bashate for linting shell scripts
entry: bashate
language: python
types: [shell]
- repo: https://github.com/PyCQA/doc8
rev: v1.1.2
hooks:
- id: doc8
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.7.3
hooks:
- id: ruff
args: ['--fix', '--unsafe-fixes']

View File

@@ -1,3 +1,18 @@
[build-system]
requires = ["pbr>=6.0.0", "setuptools>=64.0.0"]
build-backend = "pbr.build"
[tool.doc8]
ignore = ["D001"]
[tool.ruff]
line-length = 79
target-version = "py37"
[tool.ruff.lint]
select = [
"E", # pycodestyle (error)
"F", # pyflakes
"G", # flake8-logging-format
"LOG", # flake8-logging
]

10
tox.ini
View File

@@ -1,5 +1,5 @@
[tox]
minversion = 3.18.0
minversion = 4.4.0
envlist = pep8
ignore_basepython_conflict=true
@@ -14,11 +14,9 @@ deps = -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/up
commands = stestr run --slowest {posargs}
[testenv:pep8]
deps =
hacking~=6.0.0 # Apache-2.0
flake8-import-order>=0.17.1 # LGPLv3
pycodestyle>=2.0.0,<3.0.0 # MIT
commands = flake8 {posargs}
deps = pre-commit
allowlist_externals = pre-commit
commands = pre-commit run --all-files --show-diff-on-failure {posargs}
[testenv:venv]
commands = {posargs}