четверг, 26 июня 2025 г.

Black, isort, flake8, mypy, pyright, giga, gitlab,ci

Black, isort, flake8, mypy, pyright, giga, gitlab,ci

Процесс работы GitLab CI

Шаг 1: Отправка коммита

Когда ты отправляешь новый коммит в GitLab, GitLab CI автоматически запускает все этапы, описанные в файле .gitlab-ci.yml.

Шаг 2: Начало работы CI

GitLab CI считывает конфигурацию из .gitlab-ci.yml и начинает выполнение заданий последовательно по стадиям (stages).

Что делает GitLab CI:

Stage: before_script

  • Сначала выполняются общие предварительные операции:
    • Устанавливается Poetry.
    • Деактивируется создание виртуальных сред (так как мы работаем в контейнере).
    • Загружаются зависимости проекта через poetry install --no-root.

Stage: format

  • Этот этап отвечает за форматирование и очистку кода:
    • Black применяет форматирование кода.
    • Isort очищает и упорядочивает импорты.

Stage: type-check

  • Здесь осуществляется проверка аннотаций типов:
    • Mypy проверяет корректность аннотаций и сигнализирует о проблемах.
    • Pyright также осуществляет проверку аннотаций, работая параллельно с Mypy.

Stage: lint

  • Завершается процессом линта, проверяющим стиль и качество кода:
    • Flake8 ищет стилистические ошибки и выдает предупреждения.

Какие результаты можно ожидать:

  1. Лог выполнения:
    • Вся активность CI записывается в журнал.
    • Ты можешь посмотреть отчёт о результатах в панели CI/CD на странице проекта в GitLab.
  2. Уведомления об успехе или неудаче:
    • Если все этапы выполнены успешно, ты увидишь зелёный значок успеха возле последнего коммита.
    • Если какая-то проверка завершилась неудачей, напротив соответствующего этапа появится красный индикатор.
  3. Детализация ошибок:
    • Щёлкнув по этапу, ты можешь изучить детализированный лог ошибок или уведомлений,
    • полученных от каждой утилиты (например, Flake8, Mypy, Pyright).

Просмотр отчётов

После выполнения всех проверок CI на GitLab ты можешь увидеть результаты следующим образом:

  1. Зайди в страницу своего проекта в GitLab.
  2. Перейди в раздел CI/CD -> Pipeline.
  3. Среди последних Pipeline'ов найди последний коммит.
  4. Наведи мышью на каждую стадию и щёлкни по ссылке для просмотра журнала.

В журнале ты увидишь точные уведомления о любых нарушениях, возникающих при проверке,

будь то неправильное форматирование,

нарушение стандартов PEP8 или проблемы с аннотациями типов.

Пример отчёта:

Предположим, ты отправил код с неправильными отступами. Тогда в логе ты увидишь что-то подобное:

src/annotation_ci_proj/basic_any.py:4:1: E302 expected 2 blank lines, found 1

Или, если Mypy нашел проблему с типизацией:

src/annotation_ci_proj/some_module.py:10: error: Argument 1 to "some_function" has incompatible type "float"; expected "int"

Заключение:

Процесс GitLab CI выстроен таким образом,

чтобы обеспечивать высокое качество кода и своевременно реагировать на любые отклонения от стандартов и требований.

Благодаря такому подходу ты будешь получать своевременные уведомления о проблемах и сможете оперативно вносить исправления.

Комментариев нет:

Отправить комментарий