Mantener las dependencias de los repositorios actualizadas es crucial para garantizar la calidad y la seguridad. Las dependencias desactualizadas pueden exponer el proyecto a vulnerabilidades, comprometer su estabilidad y afectar su rendimiento general. Para abordar esta situación, GitHub ha creado una nueva herramienta llamada GitHub Action: Evergreen.
El manejo de dependencias supone un desafío continuo para los desarrolladores debido a las constantes actualizaciones de bibliotecas, marcos de trabajo y paquetes. Las actualizaciones manuales son laboriosas y propensas a errores, y supervisar cada dependencia en todos los repositorios resulta una tarea desalentadora.
Dependabot, una herramienta de GitHub, automatiza la actualización de dependencias creando pull requests para nuevas versiones. A diferencia de las versiones de Dependabot enfocadas en seguridad, como los «Dependabot alerts» y «Dependabot security updates,» Dependabot version updates se dirige a cualquier dependencia desactualizada, sin esperar a que existan vulnerabilidades. Esto reduce la carga de trabajo de los desarrolladores y garantiza que los proyectos utilicen versiones seguras y recientes de sus dependencias.
Sin embargo, la configuración de Dependabot mediante archivos YAML en cada repositorio puede complicar su implementación centralizada, generando una gestión incoherente de dependencias entre proyectos. Ante esta problemática, GitHub ha desarrollado Evergreen.
El Open Source Program Office (OSPO) de GitHub se propuso facilitar la implementación de Dependabot version updates en todas sus organizaciones. De esta manera surgió Evergreen, una acción de GitHub que actúa como asistente de gestión de dependencias. Evergreen se encarga de habilitar y configurar Dependabot version updates de manera uniforme en todos los repositorios.
Evergreen ha permitido a GitHub identificar cientos de repositorios privados para activar Dependabot, asegurando actualizaciones continuas y manteniendo los repositorios al día. Este proceso garantiza que las dependencias estén siempre actualizadas sin esfuerzo adicional para los desarrolladores.
El funcionamiento de Evergreen es sencillo pero eficaz. Al activarse, revisa si Dependabot version updates está habilitado en todos los repositorios de una organización. En caso contrario, Evergreen se encarga de habilitarlo y configurarlo automáticamente, abriendo pull requests para la revisión de los cambios.
Para activar Evergreen, se puede configurar como cualquier otra GitHub Action para ejecutarse en un horario establecido o activarlo manualmente. Luego, la herramienta verifica la configuración de Dependabot y, si no está habilitado, lo configura automáticamente y abre una pull request para revisar y aprobar la configuración.
En conclusión, mantener las dependencias actualizadas es esencial para la calidad y seguridad de los proyectos. Dependabot facilita esta tarea y Evergreen asegura su implementación coherente en todos los repositorios. Con Evergreen, las dependencias están siempre actualizadas. Para más información, visiten el repositorio de Evergreen en GitHub.