pre-commit

Про эту штуку мне рассказал наш девопс. Короче, можно настроить у себя на ноуте, чтобы перед каждый коммитом прогонялись линтеры, форматтеры, другие легковесные чекеры

Шаг 1. В корне репки создаем файлик .pre-commit-config.yaml и добавляем нужные модули:

repos:

Шаг 2. Устанавливаем pre-commit

brew install pre-commit pre-commit install

Все хуки лежат в папке .git/hooks/

Шаг 3. Создаем свой файлик и коммитим

При первой попытке запустятся форматтеры и исправят все ошибки:

git commit

sqlfluff-fix...............Failed

  • hook id: sqlfluff-fix
  • files were modified by this hook

== finding fixable violations == == [tables/test_table.sql] FAIL L: 1 | P: 1 | CP01 | Keywords must be upper case. [capitalisation.keywords] ... == [tables/test_table.sql] FIXED

На второй попытке файлик будет закомичен:

git commit 1 file changed, 1 insertion(+), 1 deletion(-) create mode 100644 tables/test_table.sql

Больше примеров

@data_engineerette