линтеры python перенастроены: mypy заменён на pyrefly
- набор правил ruff расширен по канону rp-local-env (ANN, PTH, C90, G и др.), в lefthook добавлен job ruff check --fix - код приведён под новые правила: логирование через %s вместо f-строк, os.path заменён на pathlib, run_backup_process и initialize разбиты на функции по порогу цикломатической сложности
This commit is contained in:
@@ -15,7 +15,7 @@ Ansible-проект для автоматизации личного серве
|
||||
- `templates/` — общие шаблоны (например `env.template`).
|
||||
- `scripts/` — вспомогательные Python-скрипты (SMTP-утилиты для Yandex Cloud Postbox).
|
||||
- `.gitea/workflows/lint.yml` — CI: yamllint + ansible-lint.
|
||||
- `lefthook.yml` — pre-commit хуки (ruff, mypy, yamllint, ansible-lint, gitleaks, проверка vault).
|
||||
- `lefthook.yml` — pre-commit хуки (ruff, pyrefly, yamllint, ansible-lint, gitleaks, проверка vault).
|
||||
- `tasks.py` — задачи через invoke (`inv <task>`).
|
||||
- `pyproject.toml` — зависимости Python, управляются через `uv`.
|
||||
|
||||
@@ -109,10 +109,13 @@ uv run ansible-galaxy install --role-file requirements.yml
|
||||
## Линтинг и CI
|
||||
|
||||
- CI (`.gitea/workflows/lint.yml`): два параллельных job — yamllint и ansible-lint.
|
||||
- Конфиги: `.yamllint.yml` (макс. длина строки 120), `.ansible-lint.yml` (профиль production, offline).
|
||||
- Конфиги: `.yamllint.yml` (макс. длина строки 120), `.ansible-lint.yml` (профиль production, offline),
|
||||
`[tool.ruff.lint]` и `[tool.pyrefly]` в `pyproject.toml`.
|
||||
- Набор правил ruff расширен относительно дефолтного (ANN, PTH, ERA, PT, C90, RET, N, Q, TID, G, LOG,
|
||||
FURB, PLC) и синхронизирован с остальными репозиториями — канон настройки лежит в `rp-local-env`.
|
||||
- Pre-commit хуки через lefthook:
|
||||
- `ruff format` + `ruff check` — форматирование и линтинг Python.
|
||||
- `mypy` — проверка типов Python.
|
||||
- `ruff format` + `ruff check --fix` + `ruff check` — форматирование и линтинг Python.
|
||||
- `pyrefly` — проверка типов Python (заменил mypy).
|
||||
- `yamllint` — линтинг YAML.
|
||||
- `ansible-lint` — линтинг Ansible (профиль production).
|
||||
- `gitleaks` — поиск секретов в staged-файлах.
|
||||
|
||||
Reference in New Issue
Block a user