PROGRAMACIÓN · DEVOPS · CI

Jest CI

Integración continua para un proyecto JavaScript: cada cambio que llega a main ejecuta las pruebas de forma automática con GitHub Actions.

Historial de ejecuciones del workflow Jest CI en GitHub ActionsJEST CI · 12 / 14
Formación
Computer Programmer · curso DevOps Tools and Practices, Lambton College
Año
2024
Rol
Desarrolladora
Herramientas
Jest · GitHub Actions · Node.js 16

// 01 · LA MISIÓN

La misión

Las pruebas manuales consumen tiempo y dejan pasar errores. En este proyecto configuré la integración continua de una aplicación JavaScript: cada vez que un cambio llega a la rama main, GitHub Actions prepara un servidor, instala el proyecto y ejecuta las pruebas con Jest, sin intervención humana. El historial del repositorio refleja el proceso real: los primeros intentos fallaron, identifiqué la causa, la corregí y desde entonces cada cambio se valida automáticamente. Proyecto desarrollado en el programa Computer Programmer de Lambton College, en Ontario (Canadá), bajo estándares profesionales de desarrollo, documentación y control de versiones.

// QUÉ SE CONSTRUYÓ

El pipeline

  • Se activa con cada push a main
  • Servidor Ubuntu con Node.js 16
  • Instala dependencias y asigna permisos a Jest
  • Ejecuta las pruebas y confirma cuando todo pasa

Documentación

  • README paso a paso para replicar la configuración
  • Capturas del workflow y de la consola
  • Propuestas de mejora: más pruebas y notificaciones

// RETOS Y SOLUCIONES

Las pruebas fallaban en GitHub, pero no en local

El ejecutable de Jest no tenía permisos de ejecución en el servidor de GitHub Actions. Agregué un paso que se los asigna (chmod +x) antes de correr las pruebas, y el workflow pasó a verde.

// PRUEBAS

Las mismas pruebas, en local y en la nube

powershell
$ npm test

> [email protected] test
> jest

 PASS  __tests__/example.test.js
   ✓ adds 1 + 2 to equal 3 (4 ms)
   ✓ subtracts 5 - 2 to equal 3 (1 ms)

Test Suites: 1 passed, 1 total
Tests:       2 passed, 2 total

MISIÓN CUMPLIDA

Resultados e impacto

¿Tu equipo todavía prueba cada cambio a mano?

Automatizo pruebas y despliegues para que tu equipo gane tiempo y entregue con más confianza.