Слогер Создать блог
Разработка

Как связать cxgrd с GitHub Actions и получать отчёт о рисках в каждом PR

Разбираем workflow, который при каждом pull request запускает cxgrd scan, делает blast radius analysis и отправляет результат в комментарий — без отдельного auth и вручную запускаемых команд.

Если инструмент распространяется как CLI, его внедрение упирается в дисциплину. Люди забудут, пропустят, отложат. И именно эту проблему решает GitHub Actions workflow, который автор cxgrd собрал для своего инструмента. Проверка зависимостей и анализ радиуса поражения изменений теперь запускаются автоматически на каждый pull request, а результат приходит в комментарий к PR.

Что происходит при каждом PR

Workflow выглядит как конвейер из четырёх шагов:

  • Устанавливаются зависимости проекта и сам cxgrd.
  • Запускается cxgrd scan — сканирование каталога проекта.
  • Команда cxgrd check выполняет blast radius анализ и компиляторные проверки.
  • Результат — уровень риска, затронутые файлы, типы изменений — публикуется в комментарий к pull request.

Причём комментарий не плодится на каждый прогон. Если PR уже получил один отчёт, а потом в него прилетел новый коммит, этот же комментарий обновляется. Не нужно искать новые сообщения в куче — всё актуально в одном месте.

Как это устроено технически

Внутри cxgrd уже был BlastRadiusAnalyzer, который отправлял результаты проверок в БД и на командный дашборд. Но для CI-комментария нужен машиночитаемый формат, поэтому к check добавили флаг --json. Дальше осталось написать небольшой скрипт, который читает JSON и собирает текст отчёта.

Интересная деталь: для отправки комментария не нужен отдельный токен с правами на репозиторий. GitHub Actions сам инжектит GITHUB_TOKEN в каждый прогон. Он ограничен текущим репозиторием и может писать комментарии, если указано permissions: pull-requests: write. Сам скрипт выполняется через actions/github-script@v7 — там уже есть доступ к API GitHub через github.rest, и комментарий создаётся вызовом issues.createComment. Номер PR берётся из context.issue.number, потому что GitHub видит pull request как issue.

На что обратить внимание

Повторить этот подход просто, но есть пара граблей:

  • Не забудьте флаг --json. Без него скрипт не получит структурированный результат.
  • Проверьте permissions. Если забыть pull-requests: write, токен не сможет оставить комментарий.
  • Обновляйте комментарий, а не создавайте новый. Иначе после серии коммитов в PR будет свалка из отчётов.
  • Номер PR не нужно хардкодить — он доступен в контексте действия.

Сравнение: ручной запуск vs workflow в Actions

КритерийРучной запускGitHub Actions workflow
Когда происходитЕсли кто-то не забылНа каждый PR автоматически
Где виден результатВ терминалеВ обсуждении PR
Требования к правамЛокальный токен или ключGITHUB_TOKEN из Actions
Барьер для командыНужно уметь запускать CLIДостаточно открыть комментарий

Вывод

Такой workflow снимает самый скучный и легко забываемый шаг в работе с CLI-инструментом. Если инструмент умеет отдавать JSON, его почти всегда можно завязать на GitHub Actions. Получается, что проверка становится триггером, а не одолжением. Это один из тех случаев, когда немного автоматизации делает инструмент заметно удобнее.

По материалам: marketing. Текст переработан редакцией Слогера.

← На главную

Рекламное место — Конец поста
Реклама · Слогер

Комментарии (0)

Войдите, чтобы комментировать.

Пока нет комментариев. Будьте первым.

AI

Анализ тендерной документации: как читать ТЗ и проект контракта за минуты, а не за вечер

Пять файлов, ТЗ на несколько мегабайт и день до окончания подачи. Знакомая картина для всех, кто участвует в тендерах. Написали в блоге, как разбирать тендерную документацию быстро и не пропустить главное: — где искать сроки, обеспечение, оплату, штрафы и гарантию (подсказка: почти всё в проекте контракта, а не в ТЗ); — почему технологии в ИТ-закупках почти никогда не пишут в названии; — как ИИ-разбор в Fluxs выписывает условия с дословными цитатами и сверяет их с документом; — зачем отдельный список вопросов для запроса разъяснений. Решение об участии остаётся за человеком. ИИ просто экономит вечер над ТЗ. https://fluxs.ru/blog/analiz-tendernoj-dokumentacii

Слогер 07.10.2026 ▲ 1
Разработка

Как ревьюить pull request и не отпугнуть контрибьютора: ярлык против разбора

Комментарий «похоже, это писал ИИ» и разбор диффа по существу занимают одинаковое время. Только в одном случае автор уходит молча, а проблема остаётся висеть ещё семь месяцев.

Слогер 07.10.2026 ▲ 0
Карьера

Как оформить портфолио фрилансера: разбор кейсов, контакта и каналов поиска клиентов

Портфолио — это интерфейс со своим сценарием: читатель ищет доказательства, что ваш опыт подходит его задаче. Разбираю, что писать в кейсах, как показать границы своей работы и где искать заказчиков.

Слогер 07.10.2026 ▲ 0
Fluxs lenta
Реклама · fluxs.ru
Карьера

Как отвечать на собеседовании: почему STAR-шаблона мало и что проверять в своём ответе

Четыре раздела STAR могут быть заполнены идеально — и всё равно не давать слушателю доказательств вашей работы. Разбираем, как проверить историю до интервью и какие вопросы задать самому себе.

Слогер 07.10.2026 ▲ 0
Разработка

Почему разработчики перестают писать код: разбор новой роли и что делать команде

Спецификации на человеческом языке, тест-сценарии и агент, который пишет реализацию. Что это меняет в работе одного разработчика и почему командные процессы не успели за этим.

Слогер 06.10.2026 ▲ 0
Fluxs lenta
Реклама · fluxs.ru
Личный опыт

Имплант, мост или съёмный протез: чем отличаются и как выбрать

Три способа заменить зуб решают одну задачу по-разному, и разница проявляется через годы, а не в день оплаты. Разбираем, что подойдёт именно в вашем случае и о чём спрашивать врача заранее.

Слогер 05.10.2026 ▲ 1
Разработка

Как японские принципы управления делают код чище и экономнее

5S, канбан, дзидока и ваби-саби родились на производстве, но отлично объясняют, почему один софт летает на слабом железе, а другой тормозит на ровном месте. Разбираем, как эти практики выглядят в репозитории и в голове разработчика.

Слогер 05.10.2026 ▲ 0
Образование

Как закончить бесплатный курс Microsoft по AI: разбор плана обучения и бейджа

Microsoft Learn собрал бесплатный самостоятельный трек по искусственному интеллекту — с модулями, проверками знаний и цифровым бейджем на финише. Разбираем, что внутри и как не бросить на середине.

Слогер 05.10.2026 ▲ 0
Fluxs lenta
Реклама · fluxs.ru