- Created demo_failing_test.py to demonstrate pre-commit blocking with a failing test. - Added run_tests.py for executing all tests with coverage reporting. - Introduced test.py as a quick test runner for the application, providing coverage reports and user-friendly output.
88 lines
2.5 KiB
YAML
88 lines
2.5 KiB
YAML
repos:
|
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
rev: v5.0.0
|
|
hooks:
|
|
- id: check-added-large-files
|
|
- id: check-yaml
|
|
- id: end-of-file-fixer
|
|
- id: trailing-whitespace
|
|
- id: check-added-large-files
|
|
- id: check-merge-conflict
|
|
- id: check-json
|
|
- id: check-case-conflict
|
|
- id: check-ast
|
|
- id: check-xml
|
|
- id: check-symlinks
|
|
- id: check-executables-have-shebangs
|
|
- id: check-toml
|
|
- id: detect-private-key
|
|
# - id: detect-aws-credentials
|
|
# - id: check-docstring-first
|
|
|
|
# - repo: https://github.com/psf/black
|
|
# rev: 25.1.0
|
|
# hooks:
|
|
# - id: black
|
|
# - repo: https://github.com/pycqa/flake8
|
|
# rev: "7.3.0" # Use a specific, stable version of Flake8
|
|
# hooks:
|
|
# - id: flake8
|
|
# - repo: https://github.com/PyCQA/pylint
|
|
# rev: v3.3.7
|
|
# hooks:
|
|
# - id: pylint
|
|
# additional_dependencies:
|
|
# - docstring
|
|
# - repo: https://github.com/PyCQA/isort
|
|
# rev: 6.0.1
|
|
# hooks:
|
|
# - id: isort
|
|
# additional_dependencies:
|
|
# - docstring
|
|
# - repo: https://github.com/hhatto/autopep8
|
|
# rev: v2.3.2
|
|
# hooks:
|
|
# - id: autopep8
|
|
# - repo: https://github.com/asottile/pyupgrade
|
|
# rev: v3.20.0
|
|
# hooks:
|
|
# - id: pyupgrade
|
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
# Ruff version.
|
|
rev: v0.12.5
|
|
hooks:
|
|
# Run the linter.
|
|
- id: ruff-check
|
|
args: [--fix]
|
|
# Run the formatter.
|
|
- id: ruff-format
|
|
########################################################
|
|
- repo: https://github.com/astral-sh/uv-pre-commit
|
|
# uv version.
|
|
rev: 0.8.3
|
|
hooks:
|
|
- id: uv-lock
|
|
# - id: uv-export
|
|
# - id: pip-compile
|
|
# args: [requirements.in, -o, requirements.txt]
|
|
########################################################
|
|
# Run core tests before commit to ensure basic functionality
|
|
- repo: local
|
|
hooks:
|
|
- id: pytest-check
|
|
name: pytest-check (core tests)
|
|
entry: uv run pytest
|
|
language: system
|
|
pass_filenames: false
|
|
always_run: true
|
|
args:
|
|
[
|
|
--tb=short,
|
|
--quiet,
|
|
--no-cov,
|
|
"tests/test_data_manager.py::TestDataManager::test_init",
|
|
"tests/test_data_manager.py::TestDataManager::test_initialize_csv_creates_file_with_headers",
|
|
"tests/test_data_manager.py::TestDataManager::test_load_data_with_valid_data",
|
|
]
|
|
stages: [pre-commit]
|