devops-ci
GitHub Actions — PR-workflow (lint+typecheck+test с кэшем npm) и deploy-workflow (build+deploy, concurrency, GitHub secrets); валидация YAML (роль devops). Use когда нужно настроить или починить CI/CD
SKILL.mdcodex/skills/devops-ci/SKILL.md
GitHub<!-- generated by scripts/generate-codex-skills.mjs; edit canonical agents/, commands/ or skills/ -->
Настрой GitHub Actions: запрос пользователя.
- Изучи проект: пакетный менеджер (lockfile), скрипты
lint/typecheck/test/buildвpackage.json, версия Node, существующие workflow в.github/workflows/. - PR-workflow (
.github/workflows/pr.yml): триггерpull_request;actions/setup-nodeсcache: npm(или pnpm — тогдаpnpm/action-setupдо setup-node); шагиnpm ci→ lint → typecheck → test. Только реально существующие скрипты — не выдумывай. - Main-workflow (
.github/workflows/deploy.yml): триггерpushв main; build + деплой. Для Render — deploy hook (curl $RENDER_DEPLOY_HOOK) или auto-deploy по пушу; hook-URL — через GitHub secrets, наблюдение за деплоем — агент$render. - Дисциплина:
concurrencyсcancel-in-progress: true(группа по ref) — отмена устаревших прогонов;permissions: contents: readна верхнем уровне, расширяй точечно; секреты — только${{ secrets.* }}, помни: в fork-PR секреты недоступны,pull_request_targetбез нужды не используй. - Валидируй YAML до выдачи: парсером (
node -e "require('js-yaml')..."/python3 -c "import yaml...") илиactionlint, если установлен. Покажи вывод валидации.
Края: пустой запрос пользователя — сделай PR-workflow (минимум), deploy — уточни цель хостинга. Прогон в GitHub подтвердит только реальный push — честно пометь, что локально проверен лишь синтаксис. Прод-деплой активируй только с явного подтверждения владельца.
Отдай: файлы workflow (пути), вывод валидации YAML, какие secrets завести в репозитории, заметки. Опирайся на навыки ci-cd, nodejs, $render. Делегируй субагенту $devops.