repos:
- repo: local
hooks:
- id: sync-cargo-version
name: sync Cargo.toml version from VERSION
entry: python3 scripts/sync_cargo_version.py
language: system
pass_filenames: false
always_run: true
- id: cargo-fmt
name: cargo fmt
entry: cargo
args: [fmt, --all]
language: system
pass_filenames: false
- id: cargo-clippy-fix
name: cargo clippy --fix
entry: cargo
args:
[clippy, --fix, --allow-staged, --allow-dirty, --all-targets]
language: system
pass_filenames: false
- id: cargo-fmt-post-clippy
name: cargo fmt (after clippy --fix)
entry: cargo
args: [fmt, --all]
language: system
pass_filenames: false
- id: cargo-clippy
name: cargo clippy
entry: cargo
args: [clippy, --all-targets, --, -D, warnings]
language: system
pass_filenames: false
- id: cargo-llvm-cov
name: cargo llvm-cov (min 80% line coverage)
entry: bash
args:
- -c
- cargo llvm-cov --all-features --lcov --output-path lcov.info --fail-under-lines 80 && cargo llvm-cov report --cobertura --output-path cobertura.xml
language: system
pass_filenames: false