100 lines
3.0 KiB
YAML
100 lines
3.0 KiB
YAML
# Licensed to the Apache Software Foundation (ASF) under one
|
|
# or more contributor license agreements. See the NOTICE file
|
|
# distributed with this work for additional information
|
|
# regarding copyright ownership. The ASF licenses this file
|
|
# to you under the Apache License, Version 2.0 (the
|
|
# "License"); you may not use this file except in compliance
|
|
# with the License. You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing,
|
|
# software distributed under the License is distributed on an
|
|
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
# KIND, either express or implied. See the License for the
|
|
# specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
exclude: ^(\.txdev/|\.claude/)
|
|
|
|
default_install_hook_types:
|
|
- pre-commit
|
|
repos:
|
|
# ---------- Local hooks ----------
|
|
- repo: local
|
|
hooks:
|
|
- id: check-asf-header
|
|
name: check ASF Header
|
|
entry: python tests/lint/check_asf_header.py --check
|
|
language: python
|
|
language_version: python3
|
|
pass_filenames: false
|
|
verbose: false
|
|
- id: check-file-type
|
|
name: check file types
|
|
entry: python tests/lint/check_file_type.py
|
|
language: python
|
|
language_version: python3
|
|
pass_filenames: false
|
|
verbose: false
|
|
# ---------- General file checks ----------
|
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
rev: v5.0.0
|
|
hooks:
|
|
- id: check-added-large-files
|
|
- id: check-case-conflict
|
|
- id: check-merge-conflict
|
|
- id: check-symlinks
|
|
- id: end-of-file-fixer
|
|
exclude: ^3rdparty/
|
|
- id: mixed-line-ending
|
|
exclude: ^3rdparty/
|
|
- id: requirements-txt-fixer
|
|
exclude: ^docker/python/bootstrap
|
|
- id: trailing-whitespace
|
|
exclude: ^3rdparty/
|
|
- id: check-yaml
|
|
- id: check-toml
|
|
|
|
# ---------- YAML lint ----------
|
|
- repo: https://github.com/adrienverge/yamllint
|
|
rev: v1.35.1
|
|
hooks:
|
|
- id: yamllint
|
|
args:
|
|
- --config-file
|
|
- .yamllint.yaml
|
|
exclude: ^\.github/
|
|
|
|
# ---------- TOML format ----------
|
|
- repo: https://github.com/ComPWA/taplo-pre-commit
|
|
rev: v0.9.3
|
|
hooks:
|
|
- id: taplo-format
|
|
|
|
# ---------- Python: ruff ----------
|
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
rev: v0.12.3
|
|
hooks:
|
|
- id: ruff-check
|
|
types_or: [python, pyi, jupyter]
|
|
args: [--fix]
|
|
- id: ruff-format
|
|
types_or: [python, pyi, jupyter]
|
|
|
|
# ---------- C/C++: clang-format ----------
|
|
- repo: https://github.com/pre-commit/mirrors-clang-format
|
|
rev: "v20.1.8"
|
|
hooks:
|
|
- id: clang-format
|
|
types_or: [c, c++, cuda, objective-c++]
|
|
exclude: ^3rdparty/
|
|
|
|
# ---------- Cython ----------
|
|
- repo: https://github.com/MarcoGorelli/cython-lint
|
|
rev: v0.16.7
|
|
hooks:
|
|
- id: cython-lint
|
|
args: [--max-line-length=120]
|
|
- id: double-quote-cython-strings
|