Módulo 7: CI Integration con GitHub Actions
Módulo 7: CI Integration con GitHub Actions
Módulo 7: CI Integration con GitHub Actions
Descripción de la cápsula
Tienes una test suite completa. Unit tests, integration tests, E2E tests, mocks, fixtures, coverage ≥90%. Pero si esos tests solo corren cuando tú ejecutas pytest manualmente en tu laptop, eventualmente dejas de correrlos. Un deadline aprieta, "solo este push sin tests", y de repente tienes bugs en producción que tus tests habrían detectado.
CI (Continuous Integration) resuelve esto. Los tests corren automáticamente en cada push, en cada PR, sin excepción. Si un test falla, el pipeline bloquea el merge — ningún código roto llega a main. Es la garantía de que tus tests importan.
Este módulo conecta todo lo que construiste en los módulos anteriores con GitHub Actions. Claude Code genera el workflow YAML, tú configuras triggers, matrix testing, y caching. Al final, tu repositorio tiene CI profesional: tests automáticos, coverage reports, y protección contra merges inseguros.
Contexto del Módulo
¿Dónde estamos?
Este es el Módulo 7 — primero de Phase 3 (Proyecto Final).
Lo que ya sabes (Phases 1 y 2):
- ✅ Spec-first, unit tests, test pyramid (Phase 1)
- ✅ TDD workflow, coverage, mocking, validation loops (Phase 2)
Lo que falta: Automatizar la ejecución de tests y preparar el proyecto final.
¿Hacia dónde vamos?
Phase 1: Fundamentos TDD con AI ✅
Phase 2: Workflows de Testing ✅
Phase 3: Proyecto Final
├── Módulo 7: ← ESTÁS AQUÍ — CI con GitHub Actions
└── Módulo 8: → Proyecto integrador TDD-complete
Después de este módulo, solo queda el proyecto final donde integras absolutamente todo.
Objetivo Profesional
Configurar un pipeline de CI con GitHub Actions que corra automáticamente toda tu test suite en cada push y PR.
Al final de este módulo podrás:
- ✅ Escribir un workflow YAML de GitHub Actions para pytest
- ✅ Configurar triggers: push, pull_request, workflow_dispatch
- ✅ Usar matrix testing para múltiples versiones de Python
- ✅ Publicar coverage reports como artifacts
- ✅ Implementar caching de dependencias pip
- ✅ Configurar fail-fast para bloquear merges inseguros
- ✅ Generar workflow YAML con Claude Code
Progresión del Módulo
Mapa del Módulo
| Cápsula | Tema | Qué aprenderás |
|---|---|---|
| 02 | GitHub Actions fundamentals | Workflows, jobs, steps, runners, YAML syntax |
| 03 | pytest en CI | Correr pytest en GitHub Actions, reporting, artifacts |
| 04 | Matrix testing y caching | Múltiples versiones de Python, caching de pip, optimización |
| 05 | Coverage en CI y protecciones | Coverage reports, branch protection, fail-fast |
| 06 | Proyecto: CI pipeline funcional | Pipeline completo con tests, coverage, matrix, caching |
Flujo de aprendizaje
Primero entenderás los fundamentos de GitHub Actions (cápsula 02): cómo funcionan los workflows, qué es un job, qué son los steps, y la sintaxis YAML.
Luego integrarás pytest (cápsula 03): correr tus tests existentes en CI, ver resultados, publicar reportes.
Después optimizarás (cápsula 04): matrix testing para validar en múltiples versiones de Python y caching para builds rápidos.
La cápsula 05 agrega coverage y protecciones: reportes de coverage en CI, branch protection rules, y fail-fast.
En el proyecto (cápsula 06) construirás un pipeline completo y funcional para un repositorio real.
Conexión con Proyecto
Proyecto de este módulo: CI pipeline funcional
Configurarás GitHub Actions para un repositorio con la test suite que construiste en módulos anteriores. El pipeline incluye:
- Tests automáticos en push y PR
- Matrix testing (Python 3.10, 3.11, 3.12)
- Coverage report publicado como artifact
- Caching de pip para builds rápidos
- Branch protection que bloquea merge si tests fallan
Conexión con proyecto final (Módulo 8)
El proyecto final requiere CI funcional como parte de la entrega. El pipeline que configuras aquí es el que usarás para la aplicación del Módulo 8.
Límites: Qué NO Se Hará en Este Módulo
- ❌ CD (Continuous Deployment) — Solo CI: tests automáticos, no deployment
- ❌ Docker en CI — No usamos containers para tests
- ❌ Otros proveedores de CI — Solo GitHub Actions
- ❌ Infraestructura avanzada — No Kubernetes, no cloud deployment
- ❌ Pre-commit hooks profundos — Mencionamos pero no profundizamos
Evidencia de Éxito
Al terminar este módulo, sabrás que tuviste éxito si:
- ✅ Tu repositorio tiene un workflow que corre en cada push
- ✅ Los tests corren en al menos 2 versiones de Python
- ✅ El coverage report se genera automáticamente
- ✅ Un PR con tests que fallan es bloqueado
- ✅ El pipeline usa caching y tarda <3 minutos
Resumen
- ✅ CI garantiza que tus tests corren en cada push — sin excepción
- ✅ GitHub Actions es el estándar para CI en proyectos de GitHub
- ✅ Matrix testing valida en múltiples versiones de Python
- ✅ Coverage en CI visibiliza la calidad de tu test suite
- ✅ Claude Code puede generar workflow YAML basándose en tu proyecto
- ✅ Este módulo prepara el CI del proyecto final
Próxima cápsula: GitHub Actions Fundamentals — workflows, jobs, steps, YAML.
Recursos Adicionales
- GitHub Actions Documentation - Documentación oficial
- GitHub Actions for Python - CI para Python
- pytest with GitHub Actions - Integración pytest + CI
- GitHub Branch Protection - Protección de branches
Módulo 7 — Testing with Claude Code Guide De tests locales a automatización profesional