Este es el repositorio central de CI/CD estándar para proyectos de Lyoss. Aquí centralizamos la lógica de automatización para mantener la consistencia en todos nuestros proyectos.
| ¿Qué necesitas? | Workflow Reusable | Descripción |
|---|---|---|
| Publicar versiones | semantic-release.yml |
Genera Tags, Releases y Changelog automático basado en commits convencionales. |
| Desplegar en GH Pages | gh-pages-deploy.yml |
Despliegue estático con auditoría de SEO mediante Lighthouse integrada. |
| Sincronizar Labels | sync-labels.yml |
Sincroniza las etiquetas de Issues/PRs desde el estándar lyoss. |
| Protección de Ramas | sync-rulesets.yml |
Aplica Rulesets (Protect main) con squash merge y restricciones de borrado. |
Para que tu repo tenga las etiquetas de colores y la rama main protegida automáticamente:
- Crea el archivo
.github/workflows/bootstrap.ymlen tu proyecto. - Copia el contenido de examples/bootstrap.yml.
- Ejecútalo manualmente desde la pestaña Actions.
Para gestionar el versionado automático y el Changelog:
- Asegúrate de tener el archivo release-config.yml en la carpeta
.githubde tu proyecto. - Crea tu workflow de release llamando a
semantic-release.yml. Ver ejemplo. - Ejecútalo manualmente desde la pestaña Actions.
Si tu proyecto es un sitio estático:
- ¿Usas Astro?: Utiliza el workflow de despliegue. Ver ejemplo
- Otros Frameworks: Puedes usar el mismo ejemplo de Astro pero modificando el comando de
build, asegurándote de que el output se genere en./dist. - Ejecútalo manualmente desde la pestaña Actions.
Los siguientes archivos en la raíz de este repositorio definen el estándar de Lyoss. Cualquier cambio aquí se replicará en todos los proyectos que ejecuten los sincronizadores:
- labels.json: Definición de nombres, colores y descripciones de etiquetas.
- rulesets.json: Reglas de protección para
main(Squash, 1 review requerida).
Tip
Permisos: Asegúrate de que tus workflows tengan los permisos necesarios (issues: write, repository-projects: write, contents: write) para que la sincronización funcione correctamente.