220 lines
4.2 KiB
TOML
220 lines
4.2 KiB
TOML
# Configuration for lintrunner https://github.com/suo/lintrunner
|
|
# You can install the dependencies and initialize with
|
|
#
|
|
# ```sh
|
|
# pip install lintrunner lintrunner-adapters
|
|
# lintrunner init
|
|
# ```
|
|
#
|
|
# This will install lintrunner on your system and download all the necessary
|
|
# dependencies to run linters locally.
|
|
# If you want to see what lintrunner init will install, run
|
|
# `lintrunner init --dry-run`.
|
|
#
|
|
# To lint local changes:
|
|
#
|
|
# ```bash
|
|
# lintrunner
|
|
# ```
|
|
#
|
|
# To lint all files:
|
|
#
|
|
# ```bash
|
|
# lintrunner --all-files
|
|
# ```
|
|
#
|
|
# To format files:
|
|
#
|
|
# ```bash
|
|
# lintrunner -a
|
|
# ```
|
|
#
|
|
# To read more about lintrunner, see [wiki](https://github.com/pytorch/pytorch/wiki/lintrunner).
|
|
# To update an existing linting rule or create a new one, modify this file or create a
|
|
# new adapter following examples in https://github.com/justinchuby/lintrunner-adapters.
|
|
merge_base_with = 'main'
|
|
|
|
[[linter]]
|
|
code = 'RUFF'
|
|
include_patterns = [
|
|
'**/*.py',
|
|
'**/*.pyi',
|
|
]
|
|
exclude_patterns = [
|
|
'*_pb2*',
|
|
'.setuptools-cmake-build/*',
|
|
'docs/**',
|
|
]
|
|
command = [
|
|
'python',
|
|
'-m',
|
|
'lintrunner_adapters',
|
|
'run',
|
|
'ruff_linter',
|
|
'--config=pyproject.toml',
|
|
'@{{PATHSFILE}}'
|
|
]
|
|
init_command = [
|
|
'python',
|
|
'-m',
|
|
'lintrunner_adapters',
|
|
'run',
|
|
'pip_init',
|
|
'--dry-run={{DRYRUN}}',
|
|
'--requirement=requirements-lintrunner.txt',
|
|
]
|
|
is_formatter = true
|
|
|
|
[[linter]]
|
|
code = 'MYPY'
|
|
include_patterns = [
|
|
'onnx/**/*.py',
|
|
'tools/**/*.py',
|
|
]
|
|
exclude_patterns = [
|
|
'onnx/backend/test/**',
|
|
'onnx/reference/ops/**', # FIXME: Enable this once typing is fixed
|
|
'onnx/test/parser_test.py',
|
|
'onnx/test/numpy_helper_test.py',
|
|
'onnx/reference/reference_evaluator.py',
|
|
]
|
|
command = [
|
|
'python',
|
|
'-m',
|
|
'lintrunner_adapters',
|
|
'run',
|
|
'mypy_linter',
|
|
'--config=pyproject.toml',
|
|
'--show-disable',
|
|
'--',
|
|
'@{{PATHSFILE}}'
|
|
]
|
|
init_command = [
|
|
'python',
|
|
'-m',
|
|
'lintrunner_adapters',
|
|
'run',
|
|
'pip_init',
|
|
'--dry-run={{DRYRUN}}',
|
|
'--requirement=requirements-lintrunner.txt',
|
|
]
|
|
|
|
[[linter]]
|
|
code = 'RUFF-FORMAT'
|
|
include_patterns = [
|
|
'**/*.py',
|
|
]
|
|
exclude_patterns = [
|
|
'*_pb2*',
|
|
'.setuptools-cmake-build/*',
|
|
'cmake/**',
|
|
'docs/**',
|
|
]
|
|
command = [
|
|
'python',
|
|
'-m',
|
|
'lintrunner_adapters',
|
|
'run',
|
|
'ruff_format_linter',
|
|
'--',
|
|
'@{{PATHSFILE}}'
|
|
]
|
|
init_command = [
|
|
'python',
|
|
'-m',
|
|
'lintrunner_adapters',
|
|
'run',
|
|
'pip_init',
|
|
'--dry-run={{DRYRUN}}',
|
|
'--requirement=requirements-lintrunner.txt',
|
|
]
|
|
is_formatter = true
|
|
|
|
[[linter]]
|
|
code = 'NAMESPACE'
|
|
include_patterns = ['**/*.cc', '**/*.h']
|
|
exclude_patterns = ['third_party/**']
|
|
command = [
|
|
'python',
|
|
'-m',
|
|
'lintrunner_adapters',
|
|
'run',
|
|
'grep_linter',
|
|
'--pattern=namespace onnx|onnx::',
|
|
'--linter-name=NAMESPACE',
|
|
'--error-name=hardcoded onnx namespace',
|
|
"""--error-description=\
|
|
Do not hardcode onnx's namespace in the c++ source code, so that \
|
|
other libraries that statically link with onnx can hide onnx symbols \
|
|
in a private namespace.\
|
|
""",
|
|
'--',
|
|
'@{{PATHSFILE}}'
|
|
]
|
|
|
|
[[linter]]
|
|
code = 'CLANGFORMAT'
|
|
include_patterns = [
|
|
'onnx/**/*.h',
|
|
'onnx/**/*.cc',
|
|
]
|
|
exclude_patterns = [
|
|
]
|
|
command = [
|
|
'python',
|
|
'-m',
|
|
'lintrunner_adapters',
|
|
'run',
|
|
'clangformat_linter',
|
|
'--binary=clang-format',
|
|
'--fallback',
|
|
'--',
|
|
'@{{PATHSFILE}}'
|
|
]
|
|
init_command = [
|
|
'python',
|
|
'-m',
|
|
'lintrunner_adapters',
|
|
'run',
|
|
'pip_init',
|
|
'--dry-run={{DRYRUN}}',
|
|
'--requirement=requirements-lintrunner.txt',
|
|
]
|
|
is_formatter = true
|
|
|
|
[[linter]]
|
|
code = 'EDITORCONFIG-CHECKER'
|
|
include_patterns=[
|
|
'**/*.py',
|
|
'**/*.pyi',
|
|
'**/*.cc',
|
|
'**/*.h',
|
|
'**/*.md',
|
|
'**/*.cpp',
|
|
]
|
|
exclude_patterns = [
|
|
'*_pb2*',
|
|
'.setuptools-cmake-build/*',
|
|
'cmake/**',
|
|
'docs/**',
|
|
'community/sc-election-guidelines.md',
|
|
]
|
|
command = [
|
|
'python',
|
|
'-m',
|
|
'lintrunner_adapters',
|
|
'run',
|
|
'editorconfig_checker_linter',
|
|
'--',
|
|
'@{{PATHSFILE}}'
|
|
]
|
|
init_command = [
|
|
'python',
|
|
'-m',
|
|
'lintrunner_adapters',
|
|
'run',
|
|
'pip_init',
|
|
'--dry-run={{DRYRUN}}',
|
|
'--requirement=requirements-lintrunner.txt',
|
|
]
|