GitHub Action
La acción analiza la base y el head de cada pull request, sube el mapa y el reporte como artefacto y deja un comentario con el diff de arquitectura. Hoy se usa por subruta del monorepo.
.github/workflows/codarch.yml:
name: CodArchon: pull_requestpermissions: contents: read pull-requests: writejobs: codarch: runs-on: ubuntu-latest steps: - uses: actions/checkout@v7 with: { fetch-depth: 0 } - uses: jaminsmoke/codarch/apps/github-action@v1 with: github-token: ${{ secrets.GITHUB_TOKEN }} fail-on: nonefetch-depth: 0es obligatorio: la base se calcula con el merge-base y se analiza en ungit worktree.- La acción instala
codarchdesde npm; no necesita el código de CodArch ni ejecutanpm cisobre tu proyecto. La versión se fija conversion.
Qué produce
Sección titulada «Qué produce»- Un comentario, actualizado: lleva el marcador
<!-- codarch-report -->; cada push edita el mismo comentario en vez de crear otro. - Un artefacto (
codarch): los snapshots de base y head, el mapa del head,report.jsony la capturahead/map.pngcon su resumen enhead/map.json.
El comentario enlaza esa captura y escribe lo que el PNG no dice: por qué área y color está pintado, la escala y las cinco celdas más grandes. La imagen no se puede incrustar en un comentario —GitHub descarta las que no tienen URL—, así que vive en el artefacto.
Aviso o bloqueo
Sección titulada «Aviso o bloqueo»fail-on | Bloquea cuando |
|---|---|
none (por defecto) | nunca: comenta y sube el artefacto |
violations | hay violaciones nuevas de .codarch.yml |
cycles | aparecen ciclos nuevos |
hotspots | aparecen hotspots nuevos |
any | cualquiera de los anteriores |
Solo bloquea lo introducido por el PR. Código de salida 2: política incumplida; 1: error de
análisis o configuración. La severidad de cada regla (info/warn/error) se decide en .codarch.yml.
Entradas
Sección titulada «Entradas»github-token, base-ref, base-sha, fail-on, config (por defecto .codarch.yml; none lo
desactiva), comment, artifact-name, node-version, version, working-directory, title y top.
La lista completa con sus valores por defecto está en apps/github-action/action.yml.
En PRs desde forks el token suele ser de solo lectura: el comentario se omite con un warning, pero el análisis y el artefacto siguen funcionando.