Pular para conteúdo

0005 — Adota o CI 100% GitHub Actions, com a Release no Forgejo

Status: Aprovado · Responsável: Gustavo Madruga · Atualizado em: 2026-09-11 · Decidido em: 2026-08-31

Contexto

Este RD não decide nada novo: CI/CD dos apps num pipeline.yml único no GitHub Actions é norma da casa — ADR central 0027. A mesma 0027 fixa a fronteira que importa aqui: é "0% Forgejo no CI", não "0% Forgejo". O Forgejo segue hospedando a Release-artefato de app cliente offline, e a 0027 cita este app como o exemplo. O que faltava era o rastro local.

Decisão

Em 2026-08-31 (commit 7b2eed3), o ci.yml, o docs.yml e o release.yml do Forgejo Actions viraram um .github/workflows/pipeline.yml à la carte (decide → gate ∥ docs → release). Os workflows .forgejo/ saíram no mesmo dia (commit 8cd44a3).

  • Toolchain pelas actions (setup-java 25 + setup-gradle), sem a fábrica ci-images. O alvo Java 8 segue no build (--release 8, decisão local 0001).
  • A Release continua no Forgejo. Numa tag v*, o job release builda o fat jar e cria a Release em fonte.xadm.biz pela API do Forgejo, com o jar como asset, autenticado por RELEASE_TOKEN (token Forgejo com write:repository, cadastrado no GitHub). O operador on-premise baixa da mesma URL de antes: a Release no Forgejo existe desde 2026-07-21 (commit 1ed3816), e só mudou quem a cria.
  • Sem deploy. O app roda java -jar na máquina do ERP de cada cliente, então não há recurso Coolify nem control-plane.

Consequências

  • Quem publica o artefato é o runner GitHub, mas o destino é o Forgejo. Sem o RELEASE_TOKEN, o job release falha: não publica pela metade.
  • O pipeline.yml é template rastreado da casa, aqui na variante sem deploy e com Release. Muda por re-derivação (/xadm-docs), não por edição solta.
  • Este RD é ponteiro: divergência de mérito sobre o modelo de CI se resolve no ADR central 0027, não aqui.