Workflows CI/CD

.github/workflows/README.md

GitHub Actions Workflows — Edifiko

Documentación de los workflows de CI/CD activos en el repositorio.


Índice

  1. CI — Lint, Type-check, Test & Build
  2. AI Pull Request Reviewer

1. CI — Lint, Type-check, Test & Build

Archivo: .github/workflows/ci.yml

Valida la calidad del código en cada push y pull request. Es el gate obligatorio antes de mergear cualquier rama.

Cuándo se ejecuta

EventoCondición
pushSolo en las ramas main, dev y test
pull_requestAl abrir, actualizar (synchronize), reabrir o marcar como ready_for_review
PR en borradorNo se ejecuta hasta que el PR salga del modo draft

Concurrencia

Si se hace un nuevo push mientras el workflow está corriendo en la misma rama, el run anterior se cancela automáticamente para ahorrar minutos de CI.

Pasos del job build

#PasoQué hace
1Checkout repoClona el repositorio con historial completo (fetch-depth: 0)
2Install pnpmInstala pnpm 10.27.0 usando pnpm/action-setup@v3
3Setup Node.jsConfigura Node.js 20 con caché de dependencias pnpm
4Install dependenciesEjecuta pnpm install
5Lint codeEjecuta pnpm lint (ESLint con reglas de Next.js + TypeScript + Prettier)
6Type-check codeEjecuta pnpm type-check (tsc --noEmit)
7Run testsEjecuta pnpm test --run (Vitest en modo no-interactivo)
8Build projectEjecuta pnpm build (Next.js production build)

Requisitos para que el CI pase

  • Sin errores de ESLint.
  • Sin errores de TypeScript.
  • Todos los tests pasan.
  • El build de Next.js compila sin errores.

Secrets / Variables necesarias

Ninguno. Este workflow no requiere secretos externos.


2. AI Pull Request Reviewer

Archivo: .github/workflows/ai-pr-reviewer.yml

Ejecuta una revisión automática del código del PR usando inteligencia artificial (CodeRabbit). Publica un resumen y comentarios de revisión directamente en el PR de GitHub.

Cuándo se ejecuta

EventoCondición
pull_requestAl abrir (opened) o actualizar (synchronize) un PR

Pasos del job review

#PasoQué hace
1Checkout RepoClona el repositorio con historial completo
2CodeRabbit SummaryLlama a coderabbitai/ai-pr-reviewer@latest con modelo gpt-o4-mini para analizar el diff del PR y publicar comentarios

Permisos requeridos

PermisoNivelMotivo
contentsreadLeer el código del repositorio
pull-requestswritePublicar comentarios de revisión en el PR

Secrets necesarios

SecretDónde configurarloDescripción
GITHUB_TOKENAutomático (GitHub Actions)Autenticación para publicar comentarios en el PR
OPENAI_API_KEYSettings → Secrets → ActionsAPI Key de OpenAI para el modelo GPT-o4-mini

Para configurar OPENAI_API_KEY: ve a GitHub → Settings → Secrets and variables → Actions → New repository secret.

name: AI Pull Request Reviewer on: pull_request: types: [opened, synchronize] jobs: review: runs-on: ubuntu-latest permissions: contents: read pull-requests: write steps: - name: Checkout Repo uses: actions/checkout@v4 with: fetch-depth: 0 # Opción sugerida: Usar CodeRabbit o Coder Hiker - name: CodeRabbit Summary uses: coderabbitai/ai-pr-reviewer@latest with: model: 'gpt-o4-mini' env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}

Relación entre workflows

PR abierto / actualizado │ ├── ci.yml ──────────────────► Lint + Type-check + Test + Build │ (bloquea el merge si falla) │ └── ai-pr-reviewer.yml ──────► Revisión automática con IA (publica comentarios en el PR)

El CI es bloqueante (se puede configurar como branch protection rule). El AI Reviewer es informativo: sus comentarios son sugerencias, no bloquean el merge.