updates: - [github.com/astral-sh/ruff-pre-commit.git: v0.14.10 → v0.15.20](https://github.com/astral-sh/ruff-pre-commit.git/compare/v0.14.10...v0.15.20) - [github.com/astral-sh/ruff-pre-commit.git: v0.14.10 → v0.15.20](https://github.com/astral-sh/ruff-pre-commit.git/compare/v0.14.10...v0.15.20) - [github.com/astral-sh/ruff-pre-commit.git: v0.14.10 → v0.15.20](https://github.com/astral-sh/ruff-pre-commit.git/compare/v0.14.10...v0.15.20) - [github.com/Lucas-C/pre-commit-hooks.git: v1.5.5 → v1.5.6](https://github.com/Lucas-C/pre-commit-hooks.git/compare/v1.5.5...v1.5.6) - [github.com/python-jsonschema/check-jsonschema.git: 0.36.0 → 0.37.4](https://github.com/python-jsonschema/check-jsonschema.git/compare/0.36.0...0.37.4) - [github.com/codespell-project/codespell.git: v2.4.1 → v2.4.2](https://github.com/codespell-project/codespell.git/compare/v2.4.1...v2.4.2) - [github.com/adrienverge/yamllint.git: v1.37.1 → v1.38.0](https://github.com/adrienverge/yamllint.git/compare/v1.37.1...v1.38.0) - [github.com/pre-commit/mirrors-mypy.git: v1.19.1 → v2.1.0](https://github.com/pre-commit/mirrors-mypy.git/compare/v1.19.1...v2.1.0)
176 lines
4.9 KiB
YAML
176 lines
4.9 KiB
YAML
---
|
|
|
|
ci:
|
|
autoupdate_schedule: quarterly # low frequency to reduce maintenance noise
|
|
|
|
repos:
|
|
- repo: https://github.com/astral-sh/ruff-pre-commit.git
|
|
rev: v0.15.20
|
|
hooks:
|
|
- id: ruff
|
|
args:
|
|
# Ref: https://docs.astral.sh/ruff/formatter/#conflicting-lint-rules
|
|
- --fix # NOTE: When `--fix` is used, linting should be before ruff-format
|
|
|
|
- repo: https://github.com/astral-sh/ruff-pre-commit.git
|
|
rev: v0.15.20
|
|
hooks:
|
|
- id: ruff-format
|
|
alias: ruff-format-first-pass
|
|
name: ruff-format (first pass)
|
|
|
|
- repo: https://github.com/asottile/add-trailing-comma.git
|
|
rev: v4.0.0
|
|
hooks:
|
|
- id: add-trailing-comma
|
|
|
|
- repo: https://github.com/astral-sh/ruff-pre-commit.git
|
|
rev: v0.15.20
|
|
hooks:
|
|
- id: ruff-format
|
|
alias: ruff-format-second-pass
|
|
name: ruff-format (second pass)
|
|
|
|
- repo: https://github.com/Lucas-C/pre-commit-hooks.git
|
|
rev: v1.5.6
|
|
hooks:
|
|
- id: remove-tabs
|
|
|
|
- repo: https://github.com/python-jsonschema/check-jsonschema.git
|
|
rev: 0.37.4
|
|
hooks:
|
|
- id: check-github-workflows
|
|
files: ^\.github/workflows/[^/]+$
|
|
types:
|
|
- yaml
|
|
- id: check-jsonschema
|
|
name: Check GitHub Workflows set timeout-minutes
|
|
args:
|
|
- --builtin-schema
|
|
- github-workflows-require-timeout
|
|
files: ^\.github/workflows/[^/]+$
|
|
types:
|
|
- yaml
|
|
- id: check-readthedocs
|
|
|
|
- repo: https://github.com/pre-commit/pygrep-hooks.git
|
|
rev: v1.10.0
|
|
hooks:
|
|
- id: python-check-blanket-noqa
|
|
- id: python-check-mock-methods
|
|
- id: python-no-eval
|
|
- id: python-no-log-warn
|
|
- id: rst-backticks
|
|
|
|
- repo: https://github.com/pre-commit/pre-commit-hooks.git
|
|
rev: v6.0.0
|
|
hooks:
|
|
# Side-effects:
|
|
- id: fix-byte-order-marker
|
|
- id: trailing-whitespace
|
|
- id: check-merge-conflict
|
|
- id: double-quote-string-fixer
|
|
- id: end-of-file-fixer
|
|
# Non-modifying checks:
|
|
- id: name-tests-test
|
|
files: >-
|
|
^tests/[^_].*\.py$
|
|
- id: check-added-large-files
|
|
- id: check-case-conflict
|
|
# disabled due to pre-commit/pre-commit-hooks#159
|
|
# - id: check-docstring-first
|
|
- id: check-json
|
|
- id: check-symlinks
|
|
- id: check-yaml
|
|
- id: detect-private-key
|
|
|
|
# Heavy checks:
|
|
- id: check-ast
|
|
- id: debug-statements
|
|
|
|
- repo: https://github.com/codespell-project/codespell.git
|
|
rev: v2.4.2
|
|
hooks:
|
|
- id: codespell
|
|
exclude: >-
|
|
^\.github/\.json-schemas/.*\.json$
|
|
|
|
- repo: https://github.com/adrienverge/yamllint.git
|
|
rev: v1.38.0
|
|
hooks:
|
|
- id: yamllint
|
|
types:
|
|
- file
|
|
- yaml
|
|
args:
|
|
- --strict
|
|
|
|
- repo: https://github.com/openstack/bashate.git
|
|
rev: 2.1.1
|
|
hooks:
|
|
- id: bashate
|
|
|
|
- repo: https://github.com/shellcheck-py/shellcheck-py.git
|
|
rev: v0.11.0.1
|
|
hooks:
|
|
- id: shellcheck
|
|
|
|
- repo: https://github.com/Lucas-C/pre-commit-hooks-lxml.git
|
|
rev: v1.1.0
|
|
hooks:
|
|
- id: forbid-html-img-without-alt-text
|
|
|
|
- repo: https://github.com/pre-commit/mirrors-mypy.git
|
|
rev: v2.1.0
|
|
hooks:
|
|
- id: mypy
|
|
alias: mypy-py314
|
|
name: MyPy, for Python 3.14
|
|
additional_dependencies:
|
|
- lxml # dep of `--txt-report`, `--cobertura-xml-report` & `--html-report`
|
|
- pytest # tests are also type-checked
|
|
args:
|
|
- --python-version=3.14
|
|
- --any-exprs-report=.tox/.tmp/.test-results/mypy--py-3.14
|
|
- --cobertura-xml-report=.tox/.tmp/.test-results/mypy--py-3.14
|
|
- --html-report=.tox/.tmp/.test-results/mypy--py-3.14
|
|
- --linecount-report=.tox/.tmp/.test-results/mypy--py-3.14
|
|
- --linecoverage-report=.tox/.tmp/.test-results/mypy--py-3.14
|
|
- --lineprecision-report=.tox/.tmp/.test-results/mypy--py-3.14
|
|
- --txt-report=.tox/.tmp/.test-results/mypy--py-3.14
|
|
pass_filenames: false
|
|
- id: mypy
|
|
alias: mypy-py312
|
|
name: MyPy, for Python 3.12
|
|
additional_dependencies:
|
|
- lxml # dep of `--txt-report`, `--cobertura-xml-report` & `--html-report`
|
|
- pytest # tests are also type-checked
|
|
args:
|
|
- --python-version=3.12
|
|
- --any-exprs-report=.tox/.tmp/.test-results/mypy--py-3.12
|
|
- --cobertura-xml-report=.tox/.tmp/.test-results/mypy--py-3.12
|
|
- --html-report=.tox/.tmp/.test-results/mypy--py-3.12
|
|
- --linecount-report=.tox/.tmp/.test-results/mypy--py-3.12
|
|
- --linecoverage-report=.tox/.tmp/.test-results/mypy--py-3.12
|
|
- --lineprecision-report=.tox/.tmp/.test-results/mypy--py-3.12
|
|
- --txt-report=.tox/.tmp/.test-results/mypy--py-3.12
|
|
pass_filenames: false
|
|
- id: mypy
|
|
alias: mypy-py310
|
|
name: MyPy, for Python 3.10
|
|
additional_dependencies:
|
|
- lxml # dep of `--txt-report`, `--cobertura-xml-report` & `--html-report`
|
|
- pytest # tests are also type-checked
|
|
args:
|
|
- --python-version=3.10
|
|
- --any-exprs-report=.tox/.tmp/.test-results/mypy--py-3.10
|
|
- --cobertura-xml-report=.tox/.tmp/.test-results/mypy--py-3.10
|
|
- --html-report=.tox/.tmp/.test-results/mypy--py-3.10
|
|
- --linecount-report=.tox/.tmp/.test-results/mypy--py-3.10
|
|
- --linecoverage-report=.tox/.tmp/.test-results/mypy--py-3.10
|
|
- --lineprecision-report=.tox/.tmp/.test-results/mypy--py-3.10
|
|
- --txt-report=.tox/.tmp/.test-results/mypy--py-3.10
|
|
pass_filenames: false
|
|
|
|
...
|