# 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