Workflows CI/CD
.github/workflows/README.md
GitHub Actions Workflows - Nidus
Documentación de los workflows activos en .github/workflows.
Índice
- CI - Nidus Platform
- Auto Create PR
- Promote Dev to Test
- Release Test to Main
- Protect Permanent Branches
1. CI - Nidus Platform
Archivo: .github/workflows/ci.yml
Valida lint y build en pushes y pull requests.
Cuándo se ejecuta
| Evento | Condición |
|---|---|
push | En main, dev y test |
pull_request | opened, synchronize, reopened, ready_for_review |
Comportamiento
- Cancela ejecuciones anteriores si entra un nuevo push en la misma rama.
- No corre en PRs draft.
- Instala pnpm
10.27.0y Node.js 20. - Ejecuta
pnpm install --frozen-lockfile,pnpm lintypnpm build.
2. Auto Create PR
Archivo: .github/workflows/auto-pr.yml
Crea automáticamente un PR cuando se hace push a una rama que no sea main, dev o test.
Cuándo se ejecuta
| Evento | Condición |
|---|---|
push | Excluye main, dev y test |
Comportamiento
- Toma la rama actual como
head. - Determina la rama destino desde el commit o usa
devcomo fallback. - Formatea el título del PR a partir del nombre de la rama.
- Si ya existe un PR abierto para esa rama, no crea uno nuevo.
- Crea el PR en modo draft y asigna al autor del push.
3. Promote Dev to Test
Archivo: .github/workflows/promote-to-test.yml
Cuando se mergea un PR en dev, crea automáticamente un PR de dev hacia test.
Cuándo se ejecuta
| Evento | Condición |
|---|---|
pull_request | closed sobre la rama dev |
Comportamiento
- Solo actúa si el PR fue mergeado.
- Verifica que
testexista y que haya cambios nuevos entredevytest. - Evita duplicar PRs abiertos entre
devytest. - Crea un PR draft con título
[RELEASE] TEST.
4. Release Test to Main
Archivo: .github/workflows/release-to-main.yml
Cuando se mergea un PR en test, versiona el monorepo y crea un PR de test hacia main.
Cuándo se ejecuta
| Evento | Condición |
|---|---|
pull_request | closed sobre la rama test |
Comportamiento
- Solo actúa si el PR fue mergeado.
- Detecta el tipo de bump SemVer desde el título del PR:
major,minoropatch. - Ejecuta
npm versionen workspaces y en el root del monorepo. - Sincroniza el commit de versión de
testhaciadev. - Evita duplicar PRs abiertos entre
testymain. - Crea un PR draft con título
[RELEASE] MAIN.
5. Protect Permanent Branches
Archivo: .github/workflows/protect-branches.yml
Restaura automáticamente main, dev o test si alguna de esas ramas se elimina.
Cuándo se ejecuta
| Evento | Condición |
|---|---|
delete | Solo para main, dev y test |
Comportamiento
- Busca el último SHA conocido de un
PushEventen el historial del repositorio. - Recrea la rama eliminada apuntando a ese SHA.
- Si no encuentra un SHA válido, falla y no restaura la rama.
Relación entre workflows
text
push a rama feature
-> auto-pr.yml
merge en dev
-> promote-to-test.yml
merge en test
-> release-to-main.yml
push o PR en main/dev/test
-> ci.yml