default_stages: [commit] # only used if a hook does not specify stages fail_fast: true repos: # Run the local formatting, linting, and testing tool chains. - repo: local hooks: - id: local-fix-branch-references name: Check for wrong branch references entry: poetry run nox -s fix-branch-references -- language: system stages: [commit] types: [text] - id: local-format name: Format the source files entry: poetry run nox -s format -- language: system stages: [commit] types: [python] - id: local-lint name: Lint the source files entry: poetry run nox -s lint -- language: system stages: [commit] types: [python] - id: local-test-suite name: Run the entire test suite entry: poetry run nox -s test-suite -- language: system stages: [merge-commit] types: [text] # Enable hooks provided by the pre-commit project to # enforce rules that local tools could not that easily. - repo: https://github.com/pre-commit/pre-commit-hooks rev: v3.2.0 hooks: - id: check-added-large-files args: [--maxkb=100] - id: check-case-conflict - id: check-builtin-literals - id: check-merge-conflict - id: check-toml - id: check-yaml - id: end-of-file-fixer stages: [commit] # overwrite the default - id: mixed-line-ending args: [--fix=no] - id: no-commit-to-branch args: [--branch, main] - id: trailing-whitespace stages: [commit] # overwrite the default