FlowCRM — CI/CD Pipeline
GitHub Actions · Vercel · Supabase · Playwright
Build passing   PR #47 — feat/dashboard-v2
98%
Success Rate
↑ +23% vs antes del CI
6m 42s
Duración media
↓ bajo el objetivo (8 min)
84%
Cobertura tests
↑ objetivo 80% ✓
0
Incidentes prod.
↓ 2 → 0 este mes
🔁 Flujo de puertas de calidad — PR #47
Pipeline en ejecución ● En curso
✍️
Lint
45s
🔷
TypeCheck
38s
🧪
Unit Tests
2m 14s
🔨
Build
1m 48s
🗄️
Integration
1m 22s
🎭
E2E Playwright
~1m 30s
🔒
Sec. Audit
pendiente
🚀
Deploy Preview
pendiente
Jobs paralelos (3 runners)
✓ quality
3m 17s · ubuntu-latest
Checkout
Setup Node 22
npm ci (cached)
ESLint — 0 errores
tsc --noEmit ✓
Vitest 84% cov.
npm run build
✓ integration
1m 52s · ubuntu-latest
PostgreSQL 16 (service)
Prisma migrate deploy
npm run test:integration
28/28 tests ✓
● e2e
~1m 30s · ubuntu-latest
Playwright Chromium
npm run build
smoke: login flow…
smoke: checkout
Upload artifacts
⏳ security + deploy
pendiente
npm audit --level=high
bundlesize check
Vercel preview deploy
📄 .github/workflows/ci.yml
.github/workflows/ci.yml Activo
# FlowCRM — CI Pipeline (GitHub Actions) name: CI on: pull_request: branches: [main] push: branches: [main] jobs: quality: # lint + types + unit + build runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: '22' cache: 'npm' - run: npm ci - name: Lint run: npm run lint - name: Type check run: npx tsc --noEmit - name: Unit tests (Vitest) run: npm test -- --coverage - name: Build run: npm run build integration: # Prisma + PostgreSQL runs-on: ubuntu-latest services: postgres: image: postgres:16 env: POSTGRES_DB: testdb POSTGRES_PASSWORD: ${{ secrets.CI_DB_PASSWORD }} options: >- --health-cmd pg_isready --health-interval 10s steps: - run: npx prisma migrate deploy env: DATABASE_URL: postgresql://... - run: npm run test:integration e2e: # Playwright smoke tests runs-on: ubuntu-latest steps: - run: npx playwright install --with-deps chromium - run: npm run build - run: npx playwright test - uses: actions/upload-artifact@v4 if: failure() with: name: playwright-report path: playwright-report/ deploy-preview: # Vercel preview en cada PR if: github.event_name == 'pull_request' needs: [quality, integration, e2e] runs-on: ubuntu-latest steps: - run: npx vercel --token=${{ secrets.VERCEL_TOKEN }}
📊 Cobertura de tests — Vitest
Statements
87%
Branches
84%
Functions
91%
Lines
88%
Umbral mínimo: 80% · Threshold: ✓ superado
🚀 Staged Rollout — últimos deployments
✓ Staging auto-deploy hace 12 min
flowcrm-staging.vercel.app · PR #46 merged
✓ Prod deploy manual hace 2h
flowcrm.app · v1.4.2 · 0 errores en 15 min window
● Preview PR #47 pendiente
flowcrm-pr47.vercel.app · esperando E2E+Audit
⏳ Rollback disponible
Workflow manual — volver a v1.4.1 en 30s
🔀 Pull Requests recientes
PR Lint Types Tests Build Estado
#47 feat/dashboard-v2 En curso
#46 fix/export-csv Mergeado
#45 refactor/api-client Mergeado
#44 feat/feature-flags Bloqueado
#43 fix/prisma-migration Bloqueado
Checklist de verificación CI/CD
Todas las puertas configuradas
Lint, Types, Unit, Build, Integration, E2E, Security
Pipeline en cada PR y push a main
on: pull_request + push activos
Fallos bloquean el merge
Branch protection + required status checks
Secretos en GitHub Secrets
DB_PASSWORD, VERCEL_TOKEN, SUPABASE_KEY — nunca en código
Rollback disponible
Workflow manual → vercel rollback en 30s
Pipeline bajo 8 minutos
Jobs paralelos: 6m 42s media
Dependabot activo
Actualizaciones semanales · máx 5 PRs abiertos
Feature flags operativos
new-dashboard-v2 habilitado al 10% → canary en curso
🚩 Feature Flags activos
FlagEstado% usuariosCleanup date
new-dashboard-v2 Canary 10% 2026-07-01
ai-contact-scoring Testing devs only 2026-06-30
legacy-export-csv ● Eliminando 0% 2026-06-20
🤖 Automatizaciones adicionales
📦
Dependabot
.github/dependabot.yml — npm semanal, máx 5 PRs
🚨
Build Cop
Rotación semanal — rol de guardia del CI verde
🔔
Alertas Slack
Notificación en #ci-alerts cuando pipeline falla en main
📐
Bundle size check
Max 350 KB gzip · PR comentado con diff de tamaño
FlowCRM — Pipeline CI/CD configurado por CULTIVA IA · Skill: ci-cd-y-automatizacion · GitHub Actions + Vercel + Playwright