Acciones de GitHub

Un análisis profundo de mi experiencia con las Acciones de GitHub

credentials
Publicado: 9 de agosto de 2025 Actualizado: 30 de agosto de 2025

Básico

Para empezar, vamos a aclarar algunas posibles confusiones para quienes son nuevos en esto.

Las Acciones de GitHub son una plataforma de integración continua y entrega continua (CI/CD) que te permite automatizar tu pipeline de construcción, pruebas y despliegue. La integración continua (CI) es una práctica de software que requiere comprometer código frecuentemente en un repositorio compartido. Así, puedes construir y probar el código continuamente para asegurarte de que el commit no introduzca errores. Por otro lado, el despliegue continuo (CD) es la práctica de usar automatización para publicar y desplegar actualizaciones de software en tus servidores.

Solo un aviso rápido sobre las Acciones de GitHub – esto es para asegurarnos de que todos estamos en la misma página. Ahora, vamos a sumergirnos en algunas cosas que no encontrarás en la documentación oficial, que, por cierto, es súper detallada y se puede encontrar en Documentación de GitHub Actions

Acciones de TypeScript

Así que, ¿por qué una Acción de TypeScript, te preguntas? Bueno, no tienes que usar una. Mucha gente crea sus Acciones en simples scripts de Bash. Pero GitHub te permite construir tus acciones directamente en JavaScript, lo que significa que no necesitas ejecutar una Acción dentro de un contenedor.

Si estás buscando sumergirte en la creación de tu propia Acción de GitHub con TypeScript, un lugar súper sólido para empezar es la plantilla oficial. Esta plantilla es una mina de oro de buenas prácticas y, aunque al principio pueda parecer un poco exagerada con todos sus componentes, realmente es funcional. Viene cargada con soporte para compilación, pruebas, un flujo de trabajo de validación y orientación para publicar y versionar.

Esta plantilla está principalmente orientada a hacer tus Acciones públicas, pero puedes usarla totalmente para cosas internas también. Solo salta las partes de ‘publicación y versionamiento’, y el resto sigue aplicando. De hecho, uso la mayoría de mis Acciones internamente, así que nos enfocaremos en ese caso de uso. Una vez que estés cómodo y listo para hacer tu nueva Acción pública, es un paseo de activar esos flujos de trabajo de publicación y versionamiento.

El ejemplo en la plantilla es bastante básico – tan básico que incluso puede sentirse inútil. Quiero decir, es solo un ejemplo, ¿verdad? Pero es un poco demasiado corto para mostrarte realmente cómo abordar escenarios más complejos. Así que, vamos a construir más ejemplos, empezando desde cosas simples y moviéndonos hacia casos más intrincados donde puedes traer tu código real a tus acciones y conectarlas con librerías externas. Ahí es donde las cosas se ponen realmente interesantes y ves la verdadera ventaja sobre los scripts de Bash!

Todos nuestros ejemplos incluirán Pruebas Unitarias de Jest, otro gran plus sobre Bash. Podemos simular (mockear) todas nuestras funciones, declaraciones, etc., en nuestro código para obtener una excelente cobertura de código. Una buena cobertura de código es súper importante porque cada vez que ajustamos algo en el código, incluso un poquito, podemos estar seguros de que nuestra Acción seguirá funcionando perfectamente.

Bien, ¡comencemos con nuestro primer ejemplo!