summaryrefslogtreecommitdiffstats
path: root/.pre-commit-config.yaml
blob: ec769d7ff70314c7a97a72d0f6c50fa7b93e7fea (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
repos:
  - repo: https://github.com/astral-sh/ruff-pre-commit
    rev: v0.7.1
    hooks:
      - id: ruff
        name: Run Ruff (lint) on Doc/
        args: [--exit-non-zero-on-fix]
        files: ^Doc/
      - id: ruff
        name: Run Ruff (lint) on Lib/test/
        args: [--exit-non-zero-on-fix]
        files: ^Lib/test/
      - id: ruff
        name: Run Ruff (lint) on Tools/build/check_warnings.py
        args: [--exit-non-zero-on-fix, --config=Tools/build/.ruff.toml]
        files: ^Tools/build/check_warnings.py
      - id: ruff
        name: Run Ruff (lint) on Argument Clinic
        args: [--exit-non-zero-on-fix, --config=Tools/clinic/.ruff.toml]
        files: ^Tools/clinic/|Lib/test/test_clinic.py
      - id: ruff-format
        name: Run Ruff (format) on Doc/
        args: [--check]
        files: ^Doc/

  - repo: https://github.com/psf/black-pre-commit-mirror
    rev: 24.10.0
    hooks:
      - id: black
        name: Run Black on Tools/build/check_warnings.py
        files: ^Tools/build/check_warnings.py
        language_version: python3.12
        args: [--line-length=79]
      - id: black
        name: Run Black on Tools/jit/
        files: ^Tools/jit/
        language_version: python3.12

  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v5.0.0
    hooks:
      - id: check-case-conflict
      - id: check-merge-conflict
      - id: check-toml
        exclude: ^Lib/test/test_tomllib/
      - id: check-yaml
      - id: end-of-file-fixer
        types: [python]
        exclude: Lib/test/tokenizedata/coding20731.py
      - id: trailing-whitespace
        types_or: [c, inc, python, rst]

  - repo: https://github.com/python-jsonschema/check-jsonschema
    rev: 0.29.4
    hooks:
      - id: check-dependabot
      - id: check-github-workflows

  - repo: https://github.com/rhysd/actionlint
    rev: v1.7.3
    hooks:
      - id: actionlint
        args: [
          -ignore=1st argument of function call is not assignable,
          -ignore=SC2(015|038|086|091|097|098|129|155),
        ]

  - repo: https://github.com/sphinx-contrib/sphinx-lint
    rev: v1.0.0
    hooks:
      - id: sphinx-lint
        args: [--enable=default-role]
        files: ^Doc/|^Misc/NEWS.d/

  - repo: local
    hooks:
      - id: blurb-no-space-c-api
        name: Check C API news entries
        language: fail
        entry: Space found in path, move to Misc/NEWS.d/next/C_API/
        files: Misc/NEWS.d/next/C API/20.*.rst

  - repo: local
    hooks:
      - id: blurb-no-space-core-and-builtins
        name: Check Core and Builtins news entries
        language: fail
        entry: Space found in path, move to Misc/NEWS.d/next/Core_and_Builtins/
        files: Misc/NEWS.d/next/Core and Builtins/20.*.rst

  - repo: meta
    hooks:
      - id: check-hooks-apply
      - id: check-useless-excludes