Workflows personalizados utilizando
GitHub Actions

slides.com/manucastrillonm/github-actions

@manucastrillonm
>git checkout 2019

2018 - Microsoft buys GitHub



GitHub Package Registry

Unlimited private repos
✨2019✨

GitHub Sponsors

Security

mobile app

GitHub Archive Program

GitHub buys NPM
> git checkout 2019

GitHub CLI
✨2020✨
> git checkout 2019
- Automated security fixes
- New roles and permissions
- Dependent repositories
- Community contributors
- Code review assignments
- Code navigation
- Code search
- New notifications
- Sponsored projects
- GitHub arctic Code Vault
@manucastrillonm
> git checkout 2019

GitHub Actions
@manucastrillonm
Manu Castrillón
🚩GitHub Campus Expert
👩🏻💻Web Engineer - Huge inc
🤓Estudiante de ing. de sistemas - UdeA
💖Lider de comunidad

@manucastrillonm
GitHub Actions
Nos permite automatizar workflows de trabajo desde el mismo lugar en el que el código está guardado (GitHub).
Responden a:
- Eventos programados
- Eventos externos
- Eventos del repositorio
@manucastrillonm
- Fork
-
Creación o actualización de una página de Wiki
-
Issue (opened, edited, deleted, transferred, pinned, unpinned, closed, reopened, assigned, unassigned, labeled, unlabeled, locked, unlocked, milestoned, demilestoned)
-
Issue comment (created, edited, deleted)
-
label (created, edited, deleted)
-
Project (created, updated, closed, reopened, edited, deleted)
-
Pull request ( assigned, unassigned, labeled, unlabeled, opened, edited, closed, reopened)
Eventos del repositorio
- Asignar reviewers.
- Manejar ramas.
- Hacer integración y despliegue continuo.
- Publicar o actualizar paquetes de NPM.
- Dar la bienvenida a nuevos contribuidores del proyecto.
Ejemplos de acciones
@manucastrillonm
Quienes pueden hacer uso de las acciones?

Todos!, su uso es gratis para los repositorios públicos 🥳
@manucastrillonm
Que acciones puedo ejecutar?

Workflows preconfigurados de GitHub

@manucastrillonm
GitHub Marketplace

@manucastrillonm
Construir tu propia acción
GitHub provee un toolkit para construir tu propia acción 💪
https://github.com/actions/toolkit
@manucastrillonm
Donde se ejecutan las acciones?

GitHub-Hosted runners
- Windows server 2019
- Ubuntu 18.04
- Ubuntu 16.04
- macOS Catalina 10.15
Hardware:
- 2 cores de CPU
- 7 GB de memoria RAM
- 14GB de SSD
@manucastrillonm
Self-Hosted runners
También podemos configurar nuestras propias máquinas, servidores o servicios cloud por los que ya paguemos y ejecutar en ellos los workflows.
@manucastrillonm
GitHub vs Self
Hosted runners
GitHub Hosted | Self Hosted |
---|---|
Se actualizan automaticamente cada semana | Podemos usar servicios cloud o maquinas locales por las que ya pagamos |
Son manejados y mantenidos por GitHub | Todo el hw, sw y requerimientos adicionales de seguridad son personalizables |
Proveen una instancia limpia para la ejecución de cada trabajo | No hay necesidad de una instancia limpia para la ejecución de cada trabajo |
Tenemos minutos gratis disponibles dependiendo de nuestro plan de GitHub y luego pagamos por lo que consumimos | Son gratis para el uso de GitHub Actions |
Wrap Up

Action: serie de pasos que ejecutan una misma tarea
Step: Tarea individual
Son ejecutadas por
Comandos de consola
Job: Secuencia de steps ejecutados en el mismo runner
Workflow: Configuración de uno o mas trabajos que responden a un evento
@manucastrillonm
Ejemplo

GitHub Hackathon
Create an original action and win GitHub swag. From march 5th to 31th
https://githubhackathon.com/


June 27th 🎉
www.gitconf.co
http://www.github.com/gitconfco
Twitter: @gitconfco
Instagram: @gitconf_co
Thank You

GitHub Actions
By Manu Castrillón
GitHub Actions
- 1,010