Files
miles/.pre-commit-config.yaml

95 lines
3.1 KiB
YAML

default_language_version:
python: python3
# The vendored upstream module stays byte-diffable against its source; keep
# formatters and linters away so upstream-tracking diffs remain minimal.
exclude: '^miles/utils/chat_template_utils/templates/encoding_dsv32\.py$'
ci:
autofix_prs: true
autoupdate_commit_msg: '[pre-commit.ci] pre-commit suggestions'
autoupdate_schedule: quarterly
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.5.0
hooks:
- id: check-yaml
args: ['--allow-multiple-documents']
exclude: '^charts/.*/templates/'
- id: check-case-conflict
- id: detect-private-key
- id: check-added-large-files
args: ['--maxkb=1000']
- id: requirements-txt-fixer
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.14.7
hooks:
- id: ruff-check
args: [ --fix ]
- repo: https://github.com/PyCQA/autoflake
rev: v2.0.2
hooks:
- id: autoflake
args: [--remove-all-unused-imports, --in-place]
- repo: https://github.com/pycqa/isort
rev: 5.13.2 # 选一个稳定版本
hooks:
- id: isort
args:
- "--profile=black" # 常见:与 Black 对齐风格
- "--filter-files" # 忽略已在 .gitignore 的文件
additional_dependencies: [] # 需要插件时在这里加
- repo: https://github.com/psf/black
rev: 24.3.0
hooks:
- id: black
name: Format code
additional_dependencies: ['click==8.0.2']
- repo: local
hooks:
- id: sync-example-docs
name: Mirror examples/ READMEs into the docs site
language: system
entry: python3 scripts/tools/sync_example_docs.py
files: '^(examples/.*README\.md|docs/examples/.*|docs/docs\.json|scripts/tools/sync_example_docs\.py)$'
pass_filenames: false
- id: ban-docs-nav-group-root
name: Ban group `root` in docs navigation (put the landing page first in `pages` with `sidebarTitle Overview` instead; see docs/README.md)
language: pygrep
entry: '"root":'
files: ^docs/docs\.json$
- id: helm-lint
name: helm lint every chart
language: system
entry: python3 tools/kubernetes/lint_charts.py
pass_filenames: false
files: '^charts/'
- id: ban-mpu-get
name: Ban direct mpu.get_* calls (use ParallelState)
language: pygrep
entry: 'mpu\.get_'
types: [python]
exclude: '(backends/megatron_utils/parallel\.py|tools/convert_to_hf\.py|miles_plugins/|examples/)'
- id: ban-bare-auto-loaders
name: Ban bare Auto{Config,Tokenizer}.from_pretrained (use load_hf_config / load_tokenizer)
language: pygrep
entry: '(AutoConfig|AutoTokenizer)\.from_pretrained'
types: [python]
exclude: '(miles/utils/hf_utils/config\.py|miles/utils/processing_utils\.py|tests/|test_utils/|miles_plugins/|examples/)'
- id: ban-huggingface-cli
name: Ban deprecated huggingface-cli (use hf)
language: pygrep
entry: 'huggingface-cli'
types: [python]