mirror of
https://github.com/XRPLF/rippled.git
synced 2026-06-02 16:26:48 +00:00
125 lines
4.1 KiB
YAML
125 lines
4.1 KiB
YAML
# To run pre-commit hooks, first install pre-commit:
|
|
# - `pip install pre-commit==${PRE_COMMIT_VERSION}`
|
|
#
|
|
# Then, run the following command to install the git hook scripts:
|
|
# - `pre-commit install`
|
|
# You can run all configured hooks against all files with:
|
|
# - `pre-commit run --all-files`
|
|
# To manually run a specific hook, use:
|
|
# - `pre-commit run <hook_id> --all-files`
|
|
# To run the hooks against only the staged files, use:
|
|
# - `pre-commit run`
|
|
repos:
|
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
rev: 3e8a8703264a2f4a69428a0aa4dcb512790b2c8c # frozen: v6.0.0
|
|
hooks:
|
|
- id: check-added-large-files
|
|
args: [--maxkb=400, --enforce-all]
|
|
- id: trailing-whitespace
|
|
- id: end-of-file-fixer
|
|
- id: check-merge-conflict
|
|
args: [--assume-in-merge]
|
|
|
|
- repo: local
|
|
hooks:
|
|
- id: clang-tidy
|
|
name: "clang-tidy (enable with: TIDY=1)"
|
|
entry: ./bin/pre-commit/clang_tidy_check.py
|
|
language: python
|
|
types_or: [c++, c]
|
|
exclude: ^include/xrpl/protocol_autogen
|
|
pass_filenames: false # script determines the staged files itself
|
|
- id: fix-include-style
|
|
name: fix include style
|
|
entry: ./bin/pre-commit/fix_include_style.py
|
|
language: python
|
|
types_or: [c++, c]
|
|
exclude: ^include/xrpl/protocol_autogen/(transactions|ledger_entries)/
|
|
|
|
- repo: https://github.com/pre-commit/mirrors-clang-format
|
|
rev: dd18dad857d6133e90bbe478f4f2f22ec0030269 # frozen: v22.1.5
|
|
hooks:
|
|
- id: clang-format
|
|
args: [--style=file]
|
|
"types_or": [c++, c, proto]
|
|
exclude: ^include/xrpl/protocol_autogen/(transactions|ledger_entries)/
|
|
|
|
- repo: https://github.com/BlankSpruce/gersemi-pre-commit
|
|
rev: faadd6a9d852369ca94f4d15b2404c967ba8cb01 # frozen: 0.27.6
|
|
hooks:
|
|
- id: gersemi
|
|
|
|
- repo: https://github.com/rbubley/mirrors-prettier
|
|
rev: 515f543f5718ebfd6ce22e16708bb32c68ff96e1 # frozen: v3.8.3
|
|
hooks:
|
|
- id: prettier
|
|
args: [--end-of-line=auto]
|
|
|
|
- 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]
|
|
|
|
- repo: local
|
|
hooks:
|
|
- id: format-inline-bash-workflows
|
|
name: "format `run:` blocks in workflows/actions"
|
|
entry: ./.github/scripts/format-inline-bash.py
|
|
language: python
|
|
files: ^\.github/(workflows|actions)/.*\.ya?ml$
|
|
- id: format-inline-bash-markdown
|
|
name: "format ```bash blocks in markdown"
|
|
entry: ./.github/scripts/format-inline-bash.py
|
|
language: python
|
|
files: \.md$
|
|
|
|
- repo: https://github.com/streetsidesoftware/cspell-cli
|
|
rev: 4643f154907327ee0a2c7038f0296e0dd77d9776 # frozen: v10.0.0
|
|
hooks:
|
|
- id: cspell # Spell check changed files
|
|
exclude: |
|
|
(?x)^(
|
|
.config/cspell.config.yaml|
|
|
include/xrpl/protocol_autogen/(transactions|ledger_entries)/.*
|
|
)$
|
|
- id: cspell # Spell check the commit message
|
|
name: check commit message spelling
|
|
args:
|
|
- --no-must-find-files
|
|
- --no-progress
|
|
- --no-summary
|
|
- --files
|
|
- .git/COMMIT_EDITMSG
|
|
stages: [commit-msg]
|
|
|
|
- repo: local
|
|
hooks:
|
|
- id: nix-fmt
|
|
name: Format Nix files
|
|
entry: |
|
|
bash -c '
|
|
if command -v nix &> /dev/null || [ "$GITHUB_ACTIONS" = "true" ]; then
|
|
nix --extra-experimental-features "nix-command flakes" fmt "$@"
|
|
else
|
|
echo "Skipping nix-fmt: nix not installed and not in GitHub Actions"
|
|
exit 0
|
|
fi
|
|
' --
|
|
language: system
|
|
types:
|
|
- nix
|
|
pass_filenames: true
|
|
|
|
exclude: |
|
|
(?x)^(
|
|
external/.*|
|
|
.github/scripts/levelization/results/.*\.txt|
|
|
src/tests/libxrpl/protocol_autogen/(transactions|ledger_entries)/.*
|
|
)$
|