Files
palladum-lightning/.pre-commit-config.yaml

70 lines
2.1 KiB
YAML
Raw Normal View History

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"
- repo: https://github.com/shellcheck-py/shellcheck-py
rev: v0.11.0.1
hooks:
- id: shellcheck
args: [ -fgcc ]
- 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 ]
- 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 ]
- 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/.*
# 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