2024-11-28 15:29:29 +01:00
|
|
|
repos:
|
|
|
|
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
|
|
|
# Ruff version.
|
|
|
|
|
rev: v0.8.0
|
|
|
|
|
hooks:
|
|
|
|
|
# Run the linter.
|
|
|
|
|
- id: ruff
|
|
|
|
|
args: [ --diff ]
|
|
|
|
|
exclude: "contrib/pyln-grpc-proto/pyln/grpc/(primitives|node)_pb2(|_grpc).py"
|
|
|
|
|
# Run the formatter.
|
|
|
|
|
- id: ruff-format
|
|
|
|
|
args: [ --diff ]
|
|
|
|
|
exclude: "contrib/pyln-grpc-proto/pyln/grpc/(primitives|node)_pb2(|_grpc).py"
|
2024-11-29 21:10:29 +01:00
|
|
|
|
|
|
|
|
- repo: https://github.com/shellcheck-py/shellcheck-py
|
|
|
|
|
rev: v0.11.0.1
|
|
|
|
|
hooks:
|
|
|
|
|
- id: shellcheck
|
|
|
|
|
args: [ -fgcc ]
|
2024-11-30 16:28:18 +01:00
|
|
|
|
2024-12-17 11:25:28 +01:00
|
|
|
- repo: https://github.com/python-jsonschema/check-jsonschema
|
|
|
|
|
rev: 0.30.0
|
|
|
|
|
hooks:
|
|
|
|
|
- id: check-jsonschema
|
|
|
|
|
name: check doc JSON schemas
|
|
|
|
|
args: ["--schemafile", "doc/rpc-schema-draft.json"]
|
|
|
|
|
files: ^doc/schemas/.*\.json$
|
|
|
|
|
types: [ json ]
|
|
|
|
|
|
|
|
|
|
- id: check-metaschema
|
|
|
|
|
name: check doc JSON metaschemas
|
|
|
|
|
args: ["--verbose"]
|
|
|
|
|
files: ^doc/schemas/.*\.json$
|
|
|
|
|
types: [ json ]
|
|
|
|
|
|
|
|
|
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
|
|
|
rev: v5.0.0
|
|
|
|
|
hooks:
|
|
|
|
|
- id: pretty-format-json
|
|
|
|
|
args: [ "--indent", "2", "--no-sort-keys" ]
|
|
|
|
|
files: ^doc/schemas/.*\.json$
|
|
|
|
|
types: [ json ]
|
|
|
|
|
|
2024-12-16 19:13:38 +01:00
|
|
|
- repo: https://github.com/codespell-project/codespell
|
|
|
|
|
rev: v2.3.0
|
|
|
|
|
hooks:
|
|
|
|
|
- id: codespell
|
|
|
|
|
description: Checks for common misspellings.
|
|
|
|
|
exclude: ccan|contrib|tests/fuzz/corpora
|
|
|
|
|
stages: [ manual ]
|
|
|
|
|
|
2024-11-30 16:28:18 +01:00
|
|
|
- repo: local
|
|
|
|
|
hooks:
|
|
|
|
|
# Reimplementation of `make check-amount-access` for pygrep.
|
|
|
|
|
- id: check-amount-access
|
|
|
|
|
name: Check amount_msat and amount_sat members are not accessed directly
|
|
|
|
|
description: "Don't access amount_msat and amount_sat members directly without a good reason since it risks overflow."
|
|
|
|
|
language: pygrep
|
|
|
|
|
entry: (->|\.)(milli)?satoshis(?!.*\/\*\ Raw:)|(?<!sizeof)\(struct\ amount_(m)?sat\)
|
|
|
|
|
types: [ c ]
|
|
|
|
|
exclude: common/amount|.*/test/.*
|
2024-12-01 13:52:59 +01:00
|
|
|
|
|
|
|
|
# Reimplementation of `make check-discouraged-functions` for pygrep.
|
|
|
|
|
- id: check-discouraged-functions
|
|
|
|
|
name: Check for usage of discouraged funtions
|
|
|
|
|
language: pygrep
|
|
|
|
|
entry: '[^a-z_/](?:fgets|fputs|gets|scanf|sprintf)\('
|
|
|
|
|
types: [ c ]
|
|
|
|
|
exclude: ccan|contrib
|