Skill: ci-cd-pilot
Pipelines que no se rompen los viernes a las 18.
Trigger
- Querés que los tests corran solos en cada PR
- Necesitás automatizar el deploy a staging/prod
- Hay que configurar linting + type checking en CI
- Un pipeline existente tarda 20 minutos y hay que optimizarlo
- Vas a mergear y querés que pase por controles automáticos
Workflow LEND
1. ANALIZAR
├── Stack: Python (ruff, pytest), Node (eslint, vitest), Go (golangci-lint)
├── ¿Hay tests? ¿Hay linter? ¿Hay type checker?
├── ¿Dónde deploya? (Railway, Vercel, AWS, Docker Hub)
└── ¿Ambientes? (dev, staging, prod)
2. OFRECER (Menú del Senior)
├── A) Scout: lint + type check + build. Rápido, mínimo.
├── B) Guardian: lint + tests + build + security scan. No mergea si falla.
└── C) Ironclad: todo + auto-deploy + notificaciones + matrix builds
3. ELEGIR → el usuario confirma
4. HACER
├── .github/workflows/main.yml o .gitlab-ci.yml
├── Secrets bien configurados (nunca hardcodeados)
├── Dependency caching (pip cache, npm cache, go mod cache)
├── Matrix builds si aplica (3.10, 3.11, 3.12)
└── Documentación en inglés técnico del pipeline
5. VERIFICAR
├── El workflow corre sin errores
├── Los secrets están configurados en GitHub/GitLab
└── El caché funciona (segundo run es más rápido)
Patrones
- Caching: siempre cachear dependencias entre runs
- Secrets: usar GitHub Secrets / GitLab CI variables, nunca en el yaml
- Fail fast: primero lint, después tests, después build
- Matrix: testear contra 2-3 versiones del runtime
- Trigger condicional: CI en PRs y push a main; CD solo en tags o main
- Notificaciones: solo fallos, no saturar con éxitos
Anti-patrones
- Hardcodear API keys o tokens en el workflow yaml
- CI que tira warning pero pasa igual (poné
--error-on-warning)
- Deploy automático sin pasar por PR
- Un solo workflow de 500 líneas — partí en workflows reusables
- Cachear sin key — la cache se vuelve obsoleta
Source: LeandroBenjaminL/lend-ai — distributed by TomeVault.
1---2name: leandrobenjaminl-lend-ai-ci-cd-pilot3description: Skill: ci-cd-pilot4---56# Skill: ci-cd-pilot78Pipelines que no se rompen los viernes a las 18.910## Trigger1112- Querés que los tests corran solos en cada PR13- Necesitás automatizar el deploy a staging/prod14- Hay que configurar linting + type checking en CI15- Un pipeline existente tarda 20 minutos y hay que optimizarlo16- Vas a mergear y querés que pase por controles automáticos1718## Workflow LEND1920```211. ANALIZAR22 ├── Stack: Python (ruff, pytest), Node (eslint, vitest), Go (golangci-lint)23 ├── ¿Hay tests? ¿Hay linter? ¿Hay type checker?24 ├── ¿Dónde deploya? (Railway, Vercel, AWS, Docker Hub)25 └── ¿Ambientes? (dev, staging, prod)26272. OFRECER (Menú del Senior)28 ├── A) Scout: lint + type check + build. Rápido, mínimo.29 ├── B) Guardian: lint + tests + build + security scan. No mergea si falla.30 └── C) Ironclad: todo + auto-deploy + notificaciones + matrix builds31323. ELEGIR → el usuario confirma33344. HACER35 ├── .github/workflows/main.yml o .gitlab-ci.yml36 ├── Secrets bien configurados (nunca hardcodeados)37 ├── Dependency caching (pip cache, npm cache, go mod cache)38 ├── Matrix builds si aplica (3.10, 3.11, 3.12)39 └── Documentación en inglés técnico del pipeline40415. VERIFICAR42 ├── El workflow corre sin errores43 ├── Los secrets están configurados en GitHub/GitLab44 └── El caché funciona (segundo run es más rápido)45```4647## Patrones4849- **Caching**: siempre cachear dependencias entre runs50- **Secrets**: usar GitHub Secrets / GitLab CI variables, nunca en el yaml51- **Fail fast**: primero lint, después tests, después build52- **Matrix**: testear contra 2-3 versiones del runtime53- **Trigger condicional**: CI en PRs y push a main; CD solo en tags o main54- **Notificaciones**: solo fallos, no saturar con éxitos5556## Anti-patrones5758- Hardcodear API keys o tokens en el workflow yaml59- CI que tira warning pero pasa igual (poné `--error-on-warning`)60- Deploy automático sin pasar por PR61- Un solo workflow de 500 líneas — partí en workflows reusables62- Cachear sin key — la cache se vuelve obsoleta6364---65> Source: [LeandroBenjaminL/lend-ai](https://github.com/LeandroBenjaminL/lend-ai) — distributed by [TomeVault](https://tomevault.io).66<!-- tomevault:4.0:skill_md:2026-05-22 -->