| # SPDX-FileCopyrightText: Copyright 2022-2024, Arm Limited and/or its affiliates. |
| # SPDX-License-Identifier: Apache-2.0 |
| # Pre-commit checks |
| # |
| # General policy: |
| |
| # - tools that *fix* issues are preferred to tools that only *gripe* |
| # about issues, both can coexist, but when the conflict we |
| # selectivly reconfigure the griper not the fixer. |
| # |
| |
| repos: |
| - repo: https://github.com/pre-commit/pre-commit-hooks |
| rev: v4.4.0 |
| hooks: |
| - id: check-yaml |
| |
| - id: check-toml |
| |
| - id: end-of-file-fixer |
| |
| - id: trailing-whitespace |
| |
| - id: mixed-line-ending |
| args: ['--fix=lf'] |
| description: Forces to replace line ending by the UNIX 'lf' character. |
| |
| - id: detect-private-key |
| |
| - id: check-executables-have-shebangs |
| |
| - id: check-added-large-files |
| args: ['--maxkb=300', "--enforce-all"] |
| exclude: src/mlia/resources |
| |
| - repo: https://github.com/Lucas-C/pre-commit-hooks |
| rev: v1.3.1 |
| hooks: |
| - id: remove-tabs |
| args: [--whitespaces-count, '8'] |
| |
| - repo: https://github.com/asottile/reorder_python_imports |
| rev: v3.10.0 |
| hooks: |
| - id: reorder-python-imports |
| args: ["--application-directories", ".:src"] |
| |
| - repo: https://github.com/asottile/pyupgrade |
| rev: v3.10.1 |
| hooks: |
| - id: pyupgrade |
| args: ["--py38-plus"] |
| |
| - repo: https://github.com/psf/black |
| rev: 23.7.0 |
| hooks: |
| - id: black |
| |
| - repo: https://github.com/PyCQA/flake8 |
| rev: 6.1.0 |
| hooks: |
| - id: flake8 |
| |
| - repo: https://github.com/PyCQA/pydocstyle |
| rev: 6.3.0 |
| hooks: |
| - id: pydocstyle |
| |
| - repo: https://github.com/markdownlint/markdownlint |
| rev: v0.12.0 |
| hooks: |
| - id: markdownlint |
| args: ["-r", "~MD024,~MD002,~MD013"] |
| |
| - repo: https://github.com/ryanrhee/shellcheck-py |
| rev: v0.9.0.5 |
| hooks: |
| - id: shellcheck |
| args: [-f, gcc, -x] |
| |
| - repo: https://github.com/fsfe/reuse-tool |
| rev: v2.1.0 |
| hooks: |
| - id: reuse |
| |
| - repo: https://github.com/PrincetonUniversity/blocklint |
| rev: v0.2.4 |
| hooks: |
| - id: blocklint |
| exclude: setup.cfg |
| |
| - repo: https://github.com/PyCQA/bandit |
| rev: 1.7.5 |
| hooks: |
| - id: bandit |
| args: ["--skip", "B101"] |
| |
| - repo: https://github.com/macisamuele/language-formatters-pre-commit-hooks |
| rev: v2.11.0 |
| hooks: |
| - id: pretty-format-toml |
| args: [--autofix, "--no-sort", --indent, "4"] |
| |
| - repo: local |
| hooks: |
| - id: mypy |
| name: mypy |
| entry: mypy |
| language: python |
| types: [python] |
| require_serial: true |
| additional_dependencies: [] |
| |
| - repo: local |
| hooks: |
| - id: pylint |
| name: pylint |
| entry: pylint |
| language: system |
| types: [python] |
| |
| - repo: https://github.com/commitizen-tools/commitizen |
| rev: v3.13.0 |
| hooks: |
| - id: commitizen-branch |
| args: [--rev-range, HEAD~1..HEAD] |
| |
| - repo: local |
| hooks: |
| - id: check-copyright-header |
| name: Check Copyright header years |
| entry: python pre_commit_hooks/check_copyright_header.py |
| language: python |
| verbose: true |