451254447f
- pyproject.toml with pytest>=8 in [dependency-groups.dev] so uv run --group dev pytest resolves without a global install - tests/__init__.py and tests/conftest.py skeleton referencing issue #162 - pre-commit local hook runs pytest tests/ on Python file changes; exit code 5 (no tests collected) is treated as success so commits are not blocked while the test suite is being built out
59 lines
1.6 KiB
YAML
59 lines
1.6 KiB
YAML
---
|
|
repos:
|
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
rev: v4.5.0
|
|
hooks:
|
|
- id: check-executables-have-shebangs
|
|
- id: check-json
|
|
- id: check-added-large-files
|
|
args: ['--maxkb=500']
|
|
- id: check-merge-conflict
|
|
- id: check-shebang-scripts-are-executable
|
|
- id: check-symlinks
|
|
- id: check-toml
|
|
- id: check-yaml
|
|
args: [--allow-multiple-documents]
|
|
- id: detect-aws-credentials
|
|
args: [--allow-missing-credentials]
|
|
- id: detect-private-key
|
|
- id: end-of-file-fixer
|
|
- id: forbid-new-submodules
|
|
- id: pretty-format-json
|
|
- id: trailing-whitespace
|
|
|
|
- repo: https://github.com/adrienverge/yamllint.git
|
|
rev: v1.37.1
|
|
hooks:
|
|
- id: yamllint
|
|
args:
|
|
[
|
|
"-d {extends: relaxed, rules: {line-length: disable}}",
|
|
"-s",
|
|
]
|
|
|
|
- repo: local
|
|
hooks:
|
|
- id: pytest
|
|
name: Run unit tests
|
|
entry: bash -c 'uv run --group dev pytest tests/ -q; rc=$?; [ $rc -eq 5 ] && exit 0 || exit $rc'
|
|
language: system
|
|
types: [python]
|
|
pass_filenames: false
|
|
|
|
- repo: https://github.com/python-jsonschema/check-jsonschema
|
|
rev: 0.37.2
|
|
hooks:
|
|
- id: check-jsonschema
|
|
name: Validate RPM package metadata
|
|
files: ^rpms/[^/]+/metadata\.yaml$
|
|
args: [--schemafile, schema/metadata.json]
|
|
|
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
rev: v0.14.7
|
|
hooks:
|
|
# Run the linter.
|
|
- id: ruff-check
|
|
args: [--fix]
|
|
# Run the formatter.
|
|
- id: ruff-format
|