163 lines
4.9 KiB
YAML
163 lines
4.9 KiB
YAML
# Exclude all third-party libraries and auto-generated files globally
|
|
exclude: |
|
|
(?x)^(
|
|
patches/.+|
|
|
paddle/fluid/framework/fleet/heter_ps/cudf/.+|
|
|
paddle/fluid/distributed/ps/thirdparty/round_robin.h|
|
|
python/paddle/utils/gast/.+|
|
|
third_party/.+
|
|
)$
|
|
repos:
|
|
# Common hooks
|
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
rev: v4.4.0
|
|
hooks:
|
|
- id: check-added-large-files
|
|
- id: check-merge-conflict
|
|
- id: check-symlinks
|
|
- id: detect-private-key
|
|
- id: end-of-file-fixer
|
|
- id: sort-simple-yaml
|
|
files: (ops|backward|op_[a-z_]+)\.yaml$
|
|
- id: trailing-whitespace
|
|
- repo: https://github.com/Lucas-C/pre-commit-hooks.git
|
|
rev: v1.5.1
|
|
hooks:
|
|
- id: remove-crlf
|
|
- id: remove-tabs
|
|
name: Tabs remover (C++)
|
|
files: \.(c|cc|cxx|cpp|cu|h|cuh|hpp|hxx|xpu|kps)$
|
|
args: [--whitespaces-count, '2']
|
|
- id: remove-tabs
|
|
name: Tabs remover (Python)
|
|
files: (.*\.(py|bzl)|BUILD|.*\.BUILD|WORKSPACE)$
|
|
args: [--whitespaces-count, '4']
|
|
# Exclude some unit test files that require tabs.
|
|
exclude: |
|
|
(?x)^(
|
|
test/dygraph_to_static/test_error.py
|
|
)$
|
|
- id: remove-tabs
|
|
name: Tabs remover (Shell)
|
|
files: \.sh$
|
|
args: [--whitespaces-count, '4']
|
|
- repo: https://github.com/PFCCLab/ast-grep-pre-commit-mirror
|
|
rev: v0.44.0
|
|
hooks:
|
|
- id: ast-grep
|
|
- repo: local
|
|
hooks:
|
|
- id: copyright_checker
|
|
name: copyright_checker
|
|
entry: python ./tools/codestyle/copyright.py
|
|
language: python
|
|
language_version: python3
|
|
files: \.(c|cc|cxx|cpp|cu|h|cuh|hpp|hxx|proto|xpu|kps|py|pyi|sh)$
|
|
exclude: |
|
|
(?x)^(
|
|
paddle/utils/.*|
|
|
paddle/cinn/utils/registry.h
|
|
)$
|
|
- repo: https://github.com/PFCCLab/typos-pre-commit-mirror.git
|
|
rev: v1.48.0
|
|
hooks:
|
|
- id: typos
|
|
args: [--force-exclude]
|
|
# For Python files
|
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
rev: v0.15.0
|
|
hooks:
|
|
- id: ruff-check
|
|
args: [--fix, --exit-non-zero-on-fix, --no-cache]
|
|
- id: ruff-format
|
|
# For C++ files
|
|
- repo: local
|
|
hooks:
|
|
- id: clang-format
|
|
name: clang-format
|
|
description: Format files with ClangFormat.
|
|
entry: clang-format -i
|
|
language: python
|
|
language_version: python3
|
|
additional_dependencies:
|
|
- clang-format==13.0.0
|
|
files: \.(c|cc|cxx|cpp|cu|h|cuh|hpp|hxx|xpu|kps)$
|
|
- repo: local
|
|
hooks:
|
|
- id: cpplint
|
|
name: cpplint
|
|
description: Check C++ code style using cpplint.py.
|
|
entry: cpplint
|
|
language: python
|
|
language_version: python3
|
|
additional_dependencies:
|
|
- cpplint==1.6.0
|
|
files: \.(cc|cxx|cpp|cu|cuh|h|hpp|hxx)$
|
|
args:
|
|
- --extensions=cc,cxx,cpp,cu,cuh,h,hpp,hxx,kps
|
|
- --filter=-readability/fn_size,-build/include_what_you_use,-build/c++11,-whitespace/parens
|
|
- --quiet
|
|
# Exclude third-party libraries
|
|
exclude: |
|
|
(?x)^(
|
|
paddle/utils/flat_hash_map\.h|
|
|
paddle/utils/variant\.h|
|
|
paddle/utils/array_ref\.h|
|
|
paddle/fluid/distributed/collective/deep_ep/.*|
|
|
paddle/fluid/fp8/deep_gemm/.*
|
|
)$
|
|
# For CMake files
|
|
- repo: local
|
|
hooks:
|
|
- id: auto-generate-cmakelists
|
|
name: auto-generate-cmakelists
|
|
entry: bash ./tools/gen_ut_cmakelists.hook
|
|
language: system
|
|
files: testslist.csv$
|
|
- repo: https://github.com/cheshirekow/cmake-format-precommit
|
|
rev: v0.6.13
|
|
hooks:
|
|
- id: cmake-format
|
|
# exclude paddle/fluid/operators/CMakeLists.txt, see the comment
|
|
# https://github.com/PaddlePaddle/Paddle/pull/43057#pullrequestreview-993471860
|
|
exclude: |
|
|
(?x)^(
|
|
paddle/fluid/operators/CMakeLists.txt
|
|
)$
|
|
- repo: https://github.com/PFCCLab/cmake-lint-paddle
|
|
rev: v1.5.1
|
|
hooks:
|
|
- id: cmakelint
|
|
args: [--config=./tools/codestyle/.cmakelintrc]
|
|
# Exclude some files has false positive warnings
|
|
# Need to fix them in the future
|
|
exclude: |
|
|
(?x)^(
|
|
cmake/external/onnxruntime.cmake
|
|
)$
|
|
# For YAML files
|
|
- repo: https://github.com/PFCCLab/yamlfmt-pre-commit-mirror.git
|
|
rev: v0.21.0
|
|
hooks:
|
|
- id: yamlfmt
|
|
files: |
|
|
(?x)^(
|
|
\.github/.+\.(yaml|yml)|
|
|
\.pre-commit-config\.yaml|
|
|
\.yamlfmt|
|
|
sgconfig\.yml|
|
|
ci/rules/.+\.yml|
|
|
ci/rule-tests/.+\.yml
|
|
)
|
|
# Others
|
|
- repo: local
|
|
hooks:
|
|
- id: sort-txt-file
|
|
name: sort-txt-file
|
|
description: Sorts each line string in a text file
|
|
entry: python ./tools/codestyle/sort_txt_file.py
|
|
language: python
|
|
language_version: python3
|
|
files: test/white_list/pir_op_test_white_list
|
|
args: []
|