Линтер YAML для GitHub Actions
Проверьте YAML-файл workflow GitHub Actions прямо в браузере. Находит синтаксические ошибки (табуляции, незакрытые кавычки, повторяющиеся ключи), отсутствующие обязательные ключи (on, jobs), задания без runs-on или steps, а также ссылки на действия без закрепления версии или на @main/@master — результаты выводятся сводкой по уровням серьёзности и таблицей проблем построчно.
Ввод
Вывод
Сводка
| Серьёзность | Количество |
|---|---|
| No data yet | |
Проблемы
| Строка | Серьёзность | Сообщение |
|---|---|---|
| No data yet | ||
Другие способы использовать этот инструмент
REST API
curl -X POST https://api.iotools.cloud/v1/tool/github-actions-yaml-linter \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"inputYaml": "name: CI\non: [push]\njobs:\n build:\n runs-on: …",
"hints": "true"
}'Подставьте свой собственный ключ из аккаунта. Поля инструмента — это тело запроса, без обёртки.
Спросите у ИИ-агента
Use the IOTools `github-actions-yaml-linter` tool (GitHub Actions YAML Linter) on this input:
YOUR_INPUT_HEREВставьте это любому агенту, подключённому к MCP-серверу IOTools, и добавьте свой ввод.
Виджет для встраивания
<iframe
src="https://iotools.cloud/embed/github-actions-yaml-linter/"
width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
title="Линтер YAML для GitHub Actions — iotools.cloud"
sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
allow="clipboard-write"
style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>Вставьте это на свою страницу — бесплатно, без ключа, нужна лишь обратная ссылка.
| Стоимость вызова API/MCP | От 5 кредитов |
|---|---|
| Нужно больше кредитов? | Посмотреть тарифы |
Также доступно через
Руководства
Вставьте файл workflow GitHub Actions и мгновенно получите построчный отчёт о том, что в нём не так, — до того как отправите сломанный .github/workflows/*.yml и будете ждать упавшего запуска. Линтер разбирает ваш workflow прямо в браузере, проверяет его по правилам, которые действительно ломают сборки Actions, и группирует найденное в сводку по уровням серьёзности и подробную таблицу проблем.
Что проверяется
Синтаксис YAML. Самая частая причина сбоя workflow — некорректный YAML. Линтер отмечает символы табуляции, используемые для отступов (YAML требует пробелы), незакрытые кавычки, повторяющиеся ключи внутри одного mapping и строки, отступ которых не совпадает с окружающим блоком.
Обязательная структура. Каждому workflow нужны триггер on: и блок jobs:. Каждому обычному заданию нужны исполнитель runs-on: и хотя бы один элемент в steps:. Задания reusable-workflow (uses:) не должны объявлять runs-on и steps. Отсутствующие или неверно расположенные ключи выводятся как ошибки с именем задания, чтобы вы точно знали, где искать.
Закрепление действий и безопасность. Ссылка на действие по подвижной ветке — actions/checkout@main или @master — означает, что сборка незаметно меняется всякий раз, когда меняется эта ветка, и это риск для цепочки поставок. Такие ссылки помечаются как предупреждения. Закрепление на версионном теге вроде @v4 вызывает подсказку по лучшим практикам: для сторонних действий лучше использовать полный commit SHA. Действие вообще без @ref — это ошибка.
Подсказки по лучшим практикам. Если подсказки включены, линтер также напоминает об timeout-minutes для долгих заданий и советует отказаться от устаревших команд workflow, таких как ::set-output:: и ::set-env::. Отключите подсказки, чтобы видеть только жёсткие ошибки и предупреждения.
Как пользоваться
- Скопируйте содержимое файла workflow и вставьте его в поле ввода.
- Посмотрите таблицу сводки, чтобы быстро увидеть количество ошибок, предупреждений и подсказок.
- Проходите таблицу проблем сверху вниз — каждая строка содержит номер строки, уровень серьёзности и понятное описание.
- Исправьте, вставьте снова и повторяйте, пока счётчик не станет нулевым.
Таблицу проблем можно скопировать или скачать в формате CSV, чтобы поделиться ею при ревью pull request.
Загружается ли мой workflow куда-нибудь?
Нет. Весь разбор и линтинг выполняются полностью в вашем браузере с помощью лёгкого, специально созданного парсера YAML. Ваш workflow — включая имена секретов и внутренние детали заданий — никогда не покидает ваш компьютер.
Это полноценный валидатор YAML?
Он нацелен именно на схему workflow GitHub Actions, поэтому понимает задания, шаги, исполнители, триггеры и permissions, а не воспринимает файл как общий YAML. Именно этот фокус позволяет давать полезную обратную связь, учитывающую специфику Actions, а не голое «line 12: bad syntax».