mirror of
https://github.com/XRPLF/clio.git
synced 2026-07-24 07:30:25 +00:00
143 lines
4.4 KiB
YAML
143 lines
4.4 KiB
YAML
---
|
|
# pre-commit is a tool to perform a predefined set of tasks manually and/or
|
|
# automatically before git commits are made.
|
|
#
|
|
# Config reference: https://pre-commit.com/#pre-commit-configyaml---top-level
|
|
#
|
|
# Common tasks
|
|
#
|
|
# - Run on all files: pre-commit run --all-files
|
|
# - Register git hooks: pre-commit install --hook-type pre-commit --hook-type pre-push
|
|
#
|
|
# See https://pre-commit.com for more information
|
|
# See https://pre-commit.com/hooks.html for more hooks
|
|
exclude: |
|
|
(?x)^(
|
|
docs/doxygen-awesome-theme/.*
|
|
)$
|
|
|
|
repos:
|
|
# `pre-commit sample-config` default hooks
|
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
rev: 3e8a8703264a2f4a69428a0aa4dcb512790b2c8c # frozen: v6.0.0
|
|
hooks:
|
|
- id: check-added-large-files
|
|
- id: check-executables-have-shebangs
|
|
- id: check-shebang-scripts-are-executable
|
|
- id: end-of-file-fixer
|
|
- id: trailing-whitespace
|
|
|
|
# Autoformat: YAML, JSON, Markdown, etc.
|
|
- repo: https://github.com/rbubley/mirrors-prettier
|
|
rev: 0ee178619d696787ca73d210cc191d720868c631 # frozen: v3.9.6
|
|
hooks:
|
|
- id: prettier
|
|
|
|
- repo: https://github.com/igorshubovych/markdownlint-cli
|
|
rev: 5b5dddc4fb0f83c3ea1fc5616fa63e115dce83e0 # frozen: v0.49.1
|
|
hooks:
|
|
- id: markdownlint-fix
|
|
exclude: LICENSE.md
|
|
|
|
- repo: https://github.com/hadolint/hadolint
|
|
rev: 57e1618d78fd469a92c1e584e8c9313024656623 # frozen: v2.14.0
|
|
hooks:
|
|
- id: hadolint-docker
|
|
# hadolint-docker is a special hook that runs hadolint in a Docker container
|
|
# Docker is not installed in the environment where pre-commit is run
|
|
stages: [manual]
|
|
entry: hadolint/hadolint:v2.14.0 hadolint
|
|
|
|
- repo: https://github.com/codespell-project/codespell
|
|
rev: 57b21406f092110c18776e39b0bda50d37c945c8 # frozen: v2.4.3
|
|
hooks:
|
|
- id: codespell
|
|
args:
|
|
[
|
|
--write-changes,
|
|
--ignore-words=pre-commit-hooks/codespell_ignore.txt,
|
|
]
|
|
|
|
- repo: https://github.com/psf/black-pre-commit-mirror
|
|
rev: 4160603246a6b365d4a2af661c6d71b0a0f50478 # frozen: 26.5.1
|
|
hooks:
|
|
- id: black
|
|
|
|
- repo: https://github.com/scop/pre-commit-shfmt
|
|
rev: 05c1426671b9237fb5e1444dd63aa5731bec0dfb # frozen: v3.13.1-1
|
|
hooks:
|
|
- id: shfmt
|
|
args: [--write, --indent=4, --case-indent=true]
|
|
|
|
# Running some C++ hooks before clang-format
|
|
# to ensure that the style is consistent.
|
|
- repo: local
|
|
hooks:
|
|
- id: json-in-cpp
|
|
name: Fix JSON style in C++
|
|
entry: pre-commit-hooks/json_in_cpp.py
|
|
types: [c++]
|
|
language: python
|
|
exclude: |
|
|
(?x)^(
|
|
tests/unit/etl/SubscriptionSourceTests.cpp|
|
|
tests/unit/web/ServerTests.cpp|
|
|
tests/unit/web/impl/ErrorHandlingTests.cpp|
|
|
tests/unit/web/ng/ServerTests.cpp|
|
|
tests/unit/web/ng/impl/ErrorHandlingTests.cpp
|
|
)$
|
|
|
|
- id: fix-local-includes
|
|
name: Fix Local Includes
|
|
entry: pre-commit-hooks/fix-local-includes.sh
|
|
types: [c++]
|
|
language: script
|
|
|
|
- id: fix-pragma-once
|
|
name: fix missing '#pragma once' declarations in header files
|
|
language: python
|
|
entry: ./pre-commit-hooks/fix_pragma_once.py
|
|
files: \.(h|hpp)$
|
|
|
|
- repo: https://github.com/pre-commit/mirrors-clang-format
|
|
rev: f4d7745e17a28aad7eed2f4874ca8d1568c11c4c # frozen: v22.1.8
|
|
hooks:
|
|
- id: clang-format
|
|
args: [--style=file]
|
|
types: [c++]
|
|
|
|
- repo: https://github.com/BlankSpruce/gersemi-pre-commit
|
|
rev: e98930bdc210d3387007f9252d8c1694ea7e410f # frozen: 0.27.7
|
|
hooks:
|
|
- id: gersemi
|
|
|
|
- repo: local
|
|
hooks:
|
|
- id: check-no-h-files
|
|
name: No .h files
|
|
entry: There should be no .h files in this repository
|
|
language: fail
|
|
files: \.h$
|
|
|
|
- repo: local
|
|
hooks:
|
|
- id: gofmt
|
|
name: Go Format
|
|
entry: pre-commit-hooks/run-go-fmt.sh
|
|
types: [go]
|
|
language: golang
|
|
description: "Runs `gofmt`, requires golang"
|
|
- id: check-docs
|
|
name: Check Doxygen Documentation
|
|
entry: pre-commit-hooks/check-doxygen-docs.sh
|
|
types: [text]
|
|
language: script
|
|
pass_filenames: false
|
|
- id: verify-commits
|
|
name: Verify Commits
|
|
entry: pre-commit-hooks/verify-commits.sh
|
|
always_run: true
|
|
stages: [pre-push]
|
|
language: script
|
|
pass_filenames: false
|