# To use: # # pre-commit run -a # # Or: # # pre-commit install # (runs every time you commit in git) # # To update this file: # # pre-commit autoupdate # # See https://gitee.com/mirrors_pre-commit/pre-commit-hooks --- ci: skip: [check-manifest, pylint, cppcheck] repos: - repo: meta hooks: - id: check-useless-excludes - repo: https://gitee.com/mirrors_pre-commit/pre-commit-hooks rev: v4.3.0 hooks: - id: check-added-large-files - id: check-case-conflict - id: check-merge-conflict - id: check-symlinks - id: check-yaml - id: check-toml - id: debug-statements - id: end-of-file-fixer exclude: ^(.*patch[0-9]*)$ - id: mixed-line-ending - id: trailing-whitespace exclude: ^(.*patch[0-9]*)$ # Changes tabs to spaces - repo: https://gitee.com/dnguyen/lukas-c-pre-commit-hooks-mirror.git rev: v1.3.1 hooks: - id: remove-tabs exclude: ^(.*Makefile|.*patch[0-9]*)$ - repo: https://gitee.com/astroshot/pydocstyle rev: 6.1.1 hooks: - id: pydocstyle exclude: (test_.*\.py)$ additional_dependencies: [toml] - repo: https://gitee.com/mirrors_PyCQA/doc8.git rev: v1.0.0 hooks: - id: doc8 alias: doc8-lint require_serial: false additional_dependencies: [tomli] args: [--ignore-path-errors, docs/api_python/mindquantum.algorithm.nisq.uccsd0_singlet_generator.rst;D001, --ignore-path-errors, docs/api_python/mindquantum.algorithm.nisq.quccsd_generator.rst;D001, --ignore-path-errors, docs/api_python/mindquantum.algorithm.nisq.uccsd_singlet_get_packed_amplitudes.rst;D001] - repo: https://gitee.com/dnguyen/shellcheck-py-mirror.git rev: v0.8.0.4 hooks: - id: shellcheck require_serial: false args: [-x, --severity=warning] - repo: https://gitee.com/mirrors_codespell-project/codespell rev: v2.2.2 hooks: - id: codespell require_serial: false files: .*\.(py|txt|cmake|md|rst|sh|ps1|hpp|tpp|cpp|cc)$ args: [-S, '.git,third_party', -I, .codespell.allow] - repo: https://gitee.com/mirrors_adrienverge/yamllint.git rev: v1.28.0 hooks: - id: yamllint require_serial: false - repo: https://gitee.com/dnguyen/cmake-format-precommit-mirror.git rev: v0.6.13 hooks: - id: cmake-format require_serial: false additional_dependencies: [pyyaml] - id: cmake-lint require_serial: false exclude: ^(cmake/Modules/.*)$ additional_dependencies: [pyyaml] - repo: https://gitee.com/mirrors_pre-commit/mirrors-isort rev: v5.10.1 hooks: - id: isort name: isort (python) - repo: https://gitee.com/mirrors_psf/black.git rev: 22.10.0 hooks: - id: black language_version: python3 - repo: https://gitee.com/mirrors_asottile/blacken-docs rev: v1.12.1 hooks: - id: blacken-docs args: [-S, -l, '120'] additional_dependencies: [black==22.10.0] - repo: https://gitee.com/mirrors_asottile/pyupgrade rev: v3.2.2 hooks: - id: pyupgrade args: [--py37-plus, --keep-mock] - repo: https://gitee.com/mirrors/flake8 rev: 5.0.4 hooks: - id: flake8 args: [--docstring-convention, google] name: flake8-strict exclude: (test_.*\.py)$ additional_dependencies: [flake8-breakpoint, flake8-builtins, flake8-comprehensions, flake8-continuation, flake8-docstrings, flake8-eradicate, flake8-mutable, flake8-return, pep8-naming, flake8-secure-coding-standard] - id: flake8 name: flake8-test-files files: (test_.*\.py)$ additional_dependencies: [flake8-breakpoint, flake8-builtins, flake8-comprehensions, flake8-continuation, flake8-eradicate, flake8-mutable, flake8-return] - repo: https://gitee.com/mirrors_PyCQA/pylint rev: v2.15.5 hooks: - id: pylint name: pylint-strict exclude: (test_.*\.py)$ args: [--score=n, --load-plugins=pylint_secure_coding_standard] additional_dependencies: [pybind11>=2.9.2, wheel_filename, numpy, scipy, projectq, openfermion, sympy, matplotlib, rich, pylint-secure-coding-standard] - id: pylint name: pylint-test-files files: (test_.*\.py)$ args: [--score=n, --load-plugins=pylint_pytest] additional_dependencies: [numpy, scipy, projectq, openfermion, sympy, matplotlib, rich, pytest, pylint-pytest] - repo: https://gitee.com/mirrors_mgedmin/check-manifest rev: '0.48' hooks: - id: check-manifest stages: [manual] additional_dependencies: ['pybind11>=2.9.2'] - repo: https://gitee.com/dnguyen/cmake-pre-commit-hooks-mirror rev: 'v1.5.3' hooks: - id: clang-format require_serial: false args: [-i] files: .*\.(h|hpp|tpp|cpp|cc)$ additional_dependencies: ['clang-format==14.*'] - id: cpplint require_serial: false args: [--quiet] files: .*\.(h|hpp|tpp|cpp|cc)$ additional_dependencies: ['cpplint'] - id: lizard require_serial: false files: .*\.(h|hpp|tpp|cpp|cc|py)$ args: [-l, cpp, -l, python, -l, java, -C, '19', -L, '100', -x, '*/tests/*', -x, '*/test/*', -x, '*/third_party/*', -W.whitelizard.txt, -w] additional_dependencies: ['lizard'] # - id: clang-tidy # stages: [manual] # args: [-Bbuild, -B.pre-commit-build] # exclude: >- # (?x)^( # .*/kernel[0-9]+\.hpp| # .*third_party/.*| # .*\.cu # )$ - repo: https://gitee.com/btcong/pre-commit-hooks rev: v1.3.5 hooks: - id: cppcheck files: .*\.(h|hpp|tpp|cpp|cc)$ args: [--force, --enable=all, --error-exitcode=1, --inline-suppr, --std=c++20, --language=c++, --suppressions-list=.cppcheck.suppressions]