github-actions-validator
GitHub Actions Validator — официальный каталоговый материал проекта cc-devops-skills для проверки workflow и custom actions GitHub Actions. Источник описывает последовательность работы вокруг двух инструментов: actionlint используется для статического анализа, а act — для локального запуска workflow при наличии Docker. Практический смысл навыка — не просто показать ошибку YAML, а провести воспроизводимую проверку файла или каталога workflow из корня репозитория. В описании исходника отдельно перечислены синтаксис YAML, соответствие схеме, выражения GitHub Actions, runner labels, inputs и outputs действий, зависимости между job, cron-выражения, glob-пути, shell-скрипты и потенциальные проблемы безопасности. Это позволяет использовать навык как чек-лист перед отправкой изменений в GitHub, при расследовании ошибки CI и при проверке composite, Docker- или JavaScript-action. Рабочий сценарий начинается с выбора каталога навыка и запуска validate_workflow.sh для одного workflow или всего .github/workflows. Для быстрого прохода предусмотрен lint-only режим, а test-only режим использует act. При полном запуске инструмент сначала делает статический анализ, затем пытается выполнить локальную проверку; если act отсутствует, режим ограничивается actionlint, а если Docker недоступен, локальный запуск пропускается с продолжением анализа. Для ошибок, которые нельзя сопоставить с готовой таблицей, исходник требует сохранить точный текст, файл и строку, проверить общие рекомендации и явно отметить ошибку как unmapped до повторной проверки. Для public actions отдельный этап сверяет версию действия с локальной таблицей и официальной документацией; неизвестную версию нельзя называть актуальной без онлайн-проверки. Навык полезен командам, которым нужна короткая процедура перед merge: проверить синтаксис и выражения, увидеть несовпадение входов или выходов, оценить зависимости job, затем при возможности прогнать workflow локально. Он также задаёт обязательный post-fix rerun, поэтому результатом считается не сам факт найденной проблемы, а подтверждение после исправления. Это особенно важно для CI-конфигурации: YAML может быть синтаксически корректным, но неработоспособным из-за неверного runner, action input или выражения. Ограничения прямо указаны в источнике. act не воспроизводит все возможности GitHub Actions, требует работающий Docker и может ошибаться на сетевых действиях или приватных actions, тогда как успешная локальная проверка не заменяет проверку на GitHub. Offline-режим опирается только на локальные reference-файлы, поэтому неизвестные версии помечаются как непроверенные. Навык не обещает security-аудит инфраструктуры: он помогает находить конфигурационные и статические проблемы в заявленном workflow-контуре. Для production-процесса сохраняйте исходный вывод actionlint/act, применённое исправление и обязательный повторный запуск, чтобы связь между проблемой и результатом оставалась проверяемой.
Для чего подходит
- Проверка YAML-файлов GitHub Actions
- Локальный запуск workflow через act
- Поиск устаревших или некорректных actions
Установка
Сначала прочитайте SKILL.md и scripts в исходном репозитории. Затем выполните команду в каталоге проекта:
npx skills add https://github.com/akin-ozer/cc-devops-skills/tree/main/devops-skills-plugin/skills/github-actions-validator