Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,19 @@ repos:
- id: ruff
args: [--fix]
- id: ruff-format

# Hook local (não o mirrors-mypy oficial) pra rodar o mesmo mypy já
# instalado via "pip install -e .[dev]", com a mesma versão e config do
# CI, em vez de duplicar as dependências de tipo num ambiente isolado à
# parte. Roda no projeto inteiro (não só nos arquivos staged), porque o
# modo strict do mypy depende de contexto entre módulos. Usa "python -m
# mypy" em vez do executável mypy.exe direto: em caminho com acento (ex:
# "Programação"), o mypy.exe falha silenciosamente no Windows.
- repo: local
hooks:
- id: mypy
name: mypy
entry: python -m mypy .
language: system
pass_filenames: false
types: [python]
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ qa-api-python/
├── reports/ # Relatório HTML e cobertura (coverage.xml) gerados a cada execução (não versionado)
├── conftest.py # Fixtures (contexto por cenário) e captura de evidência de falha
├── pyproject.toml # Dependências, scripts e configuração (pytest, ruff, mypy)
├── .pre-commit-config.yaml # Hook de pre-commit (ruff)
├── .pre-commit-config.yaml # Hooks de pre-commit (ruff, mypy)
├── LICENSE
└── README.md # Este arquivo
```
Expand Down Expand Up @@ -91,7 +91,7 @@ O CI roda `mypy`, `ruff check`, `ruff format --check` e `pip-audit` antes dos te

Cada execução de `pytest` já gera cobertura de `api/` e `models/` (código dos API Clients e dos schemas), impressa no terminal e também em `reports/coverage.xml` (não versionado). No CI esse arquivo é enviado para o [Codecov](https://codecov.io/gh/ThomasTDS/qa-api-python), que mantém o histórico e mostra o badge no topo deste README.

Um hook de pre-commit (framework `pre-commit`, instalado via `pre-commit install` após o `pip install`) roda `ruff --fix` e `ruff format` nos arquivos staged antes de cada commit, então a maioria dos problemas de lint/formatação já é corrigida localmente antes de chegar no CI.
Um hook de pre-commit (framework `pre-commit`, instalado via `pre-commit install` após o `pip install`) roda `ruff --fix` e `ruff format` nos arquivos staged, e também `mypy .` no projeto inteiro, antes de cada commit — então a maioria dos problemas de lint, formatação ou tipo já é pega localmente antes de chegar no CI.

### Rodar contra outra URL

Expand Down
Loading