Fundamentos de CI: haz que las comprobaciones sean automáticas
(Continuous Integration — integración continua) es un robot que ejecuta tus comprobaciones cada vez que subes código, para que no puedas olvidarte de ejecutarlas. La mayoría de las plataformas lo reducen a un único archivo. Aquí tienes un ejemplo mínimo de GitHub Actions:
# .github/workflows/ci.yml
name: CI
on: [push, pull_request]
jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
- run: npm ci
- run: npm run lint
- run: npm run typecheck
- run: npm test
Ahora cada push se somete a linting, comprobación de tipos y pruebas automáticamente. Si algo falla, ves una marca roja antes de que el código se pueda fusionar. Incluso puedes pedirle a la IA que escriba este archivo para tu stack — "Añade un flujo de trabajo de GitHub Actions que ejecute nuestro lint, comprobación de tipos y pruebas en cada ."
Con la protección de ramas activada, una comprobación en rojo no solo te avisa — bloquea físicamente el botón de fusión hasta que la compilación vuelva a estar en verde:
pull request
│
▼
┌──────────────┐ all pass ┌───────────────┐
│ CI runs │ ───── ✓ green ─────▶ │ MERGE allowed │ ──▶ main
│ lint · types │ └───────────────┘
│ · tests │ any fail
└──────────────┘ ───── ✗ red ──────▶ ┌───────────────┐
│ MERGE blocked │ 🔒
└───────────────┘
fix, push, re-run
El objetivo de la CI no es la automatización por sí misma — es que saca las comprobaciones de tu memoria y las mete en el pipeline, donde no se pueden saltar en una noche cansada. Vale la pena hacer dos mejoras una vez que lo básico funcione en verde. Primero, convierte las comprobaciones en un estado obligatorio en tu rama principal (una "regla de protección de rama" en GitHub) para que una compilación en rojo bloquee literalmente el botón de fusión en lugar de mostrar solo una advertencia que puedes ignorar. Segundo, cuando la CI falle, pega el registro (log) del fallo directamente a la IA: "La CI falló en esta ejecución, aquí está la salida — diagnostica y arréglalo." El registro es un informe de error preciso, generado por máquina, que es exactamente el tipo de entrada con la que la IA actúa mejor.