Проверка безопасности API в GitHub Actions на staging
Запускайте проверку на уже развёрнутом staging из доверенной ветки. Привяжите результат к ревизии этой сборки. Передайте токен через GitHub Environment и сохраните исходный код завершения CLI, чтобы неполный запуск не стал успешным.
Что подготовить
Нужны проект с доступным CI-профилем, подтверждённая цель и разрешение на проверку. Скачайте YAML в .github/workflows/, а проверенные scantelio.mjs и run-ci.sh — в ci/ вашего репозитория. Зафиксируйте версии файлов и проверьте изменения до запуска.
Порядок проверки
Свяжите workflow и среду
В GitHub создайте защищённое окружение staging. В его variables задайте SCANTELIO_API_URL, SCANTELIO_PROJECT, SCANTELIO_ENVIRONMENT и SCANTELIO_DEPLOYMENT; в secrets добавьте SCANTELIO_TOKEN. Ограничьте ветки, которые могут использовать среду.
Запускайте на ревизии, которая уже развёрнута
Выберите доверенную ветку или тег в workflow_dispatch и проверьте соответствие github.sha версии на стенде. При несовпадении сначала разверните нужную версию. Не выдавайте токен коду из внешнего pull request и не включайте трассировку shell.
Решение пайплайна по коду завершения
0 → условия настроенной проверки выполнены
1 → блокирующая находка: передайте разработчику доказательство
2 → ошибка или неполная проверка: восстановите входные данные и повторитеКритерий результата и ограничения
В журнале должны различаться блокирующая находка и невозможность проверить. Для обеих ситуаций job остаётся красной; не добавляйте continue-on-error. Если результат обязателен для релиза, настройте правило защиты отдельно.
Что остаётся непроверенным
Шаблон для ручного запуска не проверяет pull request автоматически. Код 0 относится к настройкам конкретного запуска. Остановка job не обязательно останавливает серверную проверку.
