Add pre-commit hook (#8)

* Add pre-commit hook

* Fix progress

* Update hook

---------

Co-authored-by: Fedor Batonogov <f.batonogov@yandex.ru>
This commit is contained in:
github-actions[bot]
2024-05-22 15:05:24 +03:00
committed by GitHub
parent 016da166dd
commit 946cde1ea6
7 changed files with 110 additions and 7 deletions

View File

@@ -18,3 +18,69 @@
3. [OpenTofu](./opnetofu) — программное обеспечение с **открытым исходным кодом**, используемое для **управления внешними ресурсами** (например, в рамках модели **инфраструктура как код**). Проект Linux Foundation. Пользователи определяют и предоставляют инфраструктуру центра обработки данных с помощью **декларативного языка конфигурации**, известного как HashiCorp Configuration Language (HCL) или JSON.
4. [Ansible](./ansible) — система управления конфигурациями, написанная на языке программирования **Python**, с использованием **декларативного языка разметки** для **описания конфигураций**. Применяется для **автоматизации настройки и развёртывания программного обеспечения**.
## Pre-commit hook
**Pre-commit hook** — это скрипт, который выполняется перед тем, как изменения будут зафиксированы в системе контроля версий, например, в Git.
Он позволяет автоматически проверять код и выполнять определенные действия, такие как запуск тестов, проверка стиля кода, статический анализ и другие проверки, чтобы предотвратить попадание некорректного или несоответствующего стандартам кода в репозиторий.
Преимущества использования **pre-commit hook**-ов:
- **Автоматизация проверки кода**: Хуки позволяют автоматизировать проверку качества кода, что помогает поддерживать стандарты кода в команде.
- **Раннее выявление ошибок**: Хуки помогают обнаруживать ошибки и недочеты до того, как они попадут в репозиторий, что снижает количество багов и повышает качество кода.
- **Повышение производительности**: Автоматические проверки экономят время разработчиков, которое они могли бы потратить на ручные проверки.
Использование pre-commit hook-ов является хорошей практикой, которая помогает поддерживать качество и стабильность кода в проекте.
- Установка
Прежде чем запускать **хуки**, необходимо установить менеджер пакетов **pre-commit**.
С помощью **pip**:
```console
pip install pre-commit==3.7.1
```
В python-проекте добавьте в файл **requirements.txt** (или **requirements-dev.txt**) следующее:
```text
pre-commit==3.7.1
```
С помощью **homebrew**:
```console
brew install pre-commit
```
С помощью **conda** (через **conda-forge**):
```console
conda install -c conda-forge pre-commit
```
- Быстрый запуск
Следуйте инструкциям по установке, приведенным выше.
pre-commit --version должен показать, какую версию вы используете.
```console
pre-commit --version
pre-commit 3.7.1
```
Устанавливаем **pre-commit**
```console
pre-commit install
```
### Обновление версии хуков
Обновить все версии хуков до последней версии можно при помощи команды
```sh
pre-commit autoupdate
```