ADR 0066 — La acción vuelve al monorepo
This content is not available in your language yet.
Estado: aceptado · Fecha: 2026-10-25
Contexto
Sección titulada «Contexto»El ADR 0015 creó jaminsmoke/codarch-action por una razón concreta: el
monorepo jaminsmoke/codarch era privado y GitHub no resuelve una acción
de un repositorio privado desde otro repositorio. La copia pública solo tenía
action.yml, el render del comentario, el README y la licencia.
Ese supuesto ya no se cumple: el monorepo es público desde el 2026-10-22 (ADR 0033). Mantener el repo separado obliga a sincronizar dos copias y a mover dos tags; el ADR 0065 lo dejó como el último paso manual de cada publicación del CLI.
GitHub permite usar una acción que vive en una subcarpeta de un repo
público: uses: jaminsmoke/codarch/apps/github-action@v1. No hace falta un
repo dedicado.
Decisión
Sección titulada «Decisión»- La fuente sigue siendo
apps/github-action. No se mueve el código ni se duplica. - Los consumidores usan la subruta:
uses: jaminsmoke/codarch/apps/github-action@v1. - El tag
v1vive en el monorepo. Se mueve después de publicar el CLI, junto con el pin de la versión, y apunta al commit que instala una versión ya publicada en npm. - Se retira la sincronización. No hay
sync:action, ni.codarch/action-repo, ni segunda copia delaction.yml. El workflow interno ya usaba./apps/github-action; ahora coincide con lo que usa el consumidor. - El repo
codarch-actionse archiva. Se deja de mantener y su README remite al monorepo. No se borra para no romper losusesantiguos que aún apunten allí.
Consecuencias
Sección titulada «Consecuencias»- Un solo repo, una sola copia de la acción y un solo tag
v1. - El pin y el tag se actualizan en el mismo workflow que publica el CLI.
- No hay listado en Marketplace: Marketplace exige
action.ymlen la raíz del repo. La subruta funciona igual desde cualquier workflow. Si algún día importa el escaparate, se añade unaction.ymlraíz que delega; no se recupera el repo separado. - Los repos que usen
jaminsmoke/codarch-action@v1siguen funcionando mientras el repo esté archivado; se les invita a cambiar a la subruta. codarch-action-smokecambia suusesa la subruta en la siguiente prueba externa.
Alternativas descartadas
Sección titulada «Alternativas descartadas»- Mantener el repo separado. Dos copias que se desincronizan justo cuando el monorepo ya es público.
- Copiar
action.ymla la raíz del monorepo. Permite Marketplace, pero duplica el fichero y obliga a mantener dos rutas pararender-comment.mjs. Se puede hacer más adelante sin reabrir el repo. - Publicar la acción en otro repo generado. Es el problema que se quiere quitar, con otro nombre.
Hoja de ruta
Sección titulada «Hoja de ruta»M46 — La acción vuelve al monorepo
Sección titulada «M46 — La acción vuelve al monorepo»- La acción se usa por subruta desde
jaminsmoke/codarch. -
v1se mueve en el monorepo después de publicar el CLI. - Fuera
sync:actiony la copia pública generada. - README, workflow de release y documentación apuntan a la subruta.
- El repo
codarch-actionqueda archivado con un aviso. - Actualizar
codarch-action-smokea la subruta (evidencia 2026-11-02: el workflow usajaminsmoke/codarch/apps/github-action@v1; ver también la entrada 48 de la guía).
Los ítems abiertos de esta decisión viven en el backlog del roadmap.
El registro de lo hecho vive en el feed de la guía.