OPS50: porta CI GitHub para Forgejo (parte 1) #5

Merged
fsolla merged 16 commits from OPS50-ci-github-para-forgejo into main 2026-08-17 14:43:13 +00:00

16 commits

Author SHA1 Message Date
Francisco Solla
ac664093d2 fix(ci OPS50): build e2e em .next-e2e (o webServer do playwright serve esse dir desde 7ca0efc9 — os workflows ainda buildavam em .next/e2e e o 'next start' não achava o bundle) + invariante unit passa a pinar os workflows
Some checks failed
Agent PR Ready + auto-merge / ready-automerge (pull_request) Has been skipped
CI (PR) / docs-guards (pull_request) Successful in 6s
CI (PR) / plans-only-closes (pull_request) Successful in 6s
CI (PR) / scope (pull_request) Successful in 41s
CI (PR) / lint (pull_request) Successful in 49s
CI (PR) / format (pull_request) Successful in 1m0s
CI (PR) / typecheck (pull_request) Successful in 34s
CI (PR) / knip (pull_request) Successful in 34s
CI (PR) / cycles (pull_request) Successful in 33s
CI (PR) / unit (pull_request) Successful in 47s
CI (PR) / build (pull_request) Has been skipped
CI (PR) / int (pull_request) Successful in 2m0s
CI (PR) / e2e (2) (pull_request) Successful in 4m23s
CI (PR) / e2e (1) (pull_request) Successful in 4m33s
CI (PR) / checks (pull_request) Successful in 1s
Promote plan-issue Related on main merge / plan-issue-ready (pull_request) Has been skipped
Main merge flips claimed issues to done + in-prod / issue-done (pull_request) Successful in 24s
Agent pool supervisor / tick (pull_request) Failing after 1m3s
CI / int (push) Failing after 1m22s
CI / static (push) Successful in 2m1s
CI / build (push) Successful in 2m36s
CI / e2e (1) (push) Failing after 9m2s
CI / e2e (2) (push) Failing after 8m37s
CI / checks (push) Failing after 1s
CI / deploy (push) Has been skipped
CI / requeue (push) Successful in 7s
2026-08-17 11:33:01 -03:00
Francisco Solla
b51f745f66 fix(ci OPS50): matrix estática [1,2] no e2e (Forgejo não passa job results à expansão de matrix — fromJson(needs.*) vira shard vazio) e VITEST_MAX_WORKERS=4 no int (8 CPUs do runner × pool-10 estoura os 100 clients do Postgres do serviço)
Some checks failed
Agent PR Ready + auto-merge / ready-automerge (pull_request) Has been skipped
CI (PR) / docs-guards (pull_request) Successful in 6s
CI (PR) / plans-only-closes (pull_request) Successful in 6s
CI (PR) / scope (pull_request) Successful in 31s
CI (PR) / lint (pull_request) Successful in 40s
CI (PR) / format (pull_request) Successful in 57s
CI (PR) / typecheck (pull_request) Successful in 33s
CI (PR) / knip (pull_request) Successful in 33s
CI (PR) / cycles (pull_request) Successful in 34s
CI (PR) / unit (pull_request) Successful in 45s
CI (PR) / build (pull_request) Has been skipped
CI (PR) / int (pull_request) Successful in 1m58s
CI (PR) / e2e (1) (pull_request) Failing after 3m8s
CI (PR) / e2e (2) (pull_request) Failing after 3m11s
CI (PR) / checks (pull_request) Failing after 1s
2026-08-17 04:17:56 -03:00
Francisco Solla
6b9c04820b fix(ci OPS50): vitest/playwright recarregam .env.test por cima do env do job — gravar DATABASE_URL do serviço em .env.test.local (camada que vence)
Some checks failed
Agent PR Ready + auto-merge / ready-automerge (pull_request) Has been skipped
CI (PR) / scope (pull_request) Successful in 30s
CI (PR) / format (pull_request) Successful in 54s
CI (PR) / docs-guards (pull_request) Successful in 6s
CI (PR) / plans-only-closes (pull_request) Successful in 6s
CI (PR) / lint (pull_request) Successful in 38s
CI (PR) / typecheck (pull_request) Successful in 30s
CI (PR) / knip (pull_request) Successful in 32s
CI (PR) / cycles (pull_request) Successful in 31s
CI (PR) / unit (pull_request) Successful in 43s
CI (PR) / build (pull_request) Has been skipped
CI (PR) / int (pull_request) Failing after 1m25s
CI (PR) / e2e (pull_request) Failing after 2m54s
CI (PR) / checks (pull_request) Failing after 1s
2026-08-17 03:56:29 -03:00
Francisco Solla
02f68894c3 fix(ci OPS50): guards de banco aceitam o gateway da bridge do runner (RFC1918) — postgres do services: fica no IP do gateway, não em localhost
Some checks failed
Agent PR Ready + auto-merge / ready-automerge (pull_request) Has been skipped
CI (PR) / docs-guards (pull_request) Successful in 6s
CI (PR) / plans-only-closes (pull_request) Successful in 6s
CI (PR) / scope (pull_request) Successful in 31s
CI (PR) / lint (pull_request) Successful in 40s
CI (PR) / format (pull_request) Successful in 48s
CI (PR) / typecheck (pull_request) Successful in 31s
CI (PR) / knip (pull_request) Successful in 32s
CI (PR) / cycles (pull_request) Successful in 33s
CI (PR) / unit (pull_request) Successful in 46s
CI (PR) / build (pull_request) Has been skipped
CI (PR) / int (pull_request) Failing after 1m5s
CI (PR) / e2e (pull_request) Failing after 2m47s
CI (PR) / checks (pull_request) Failing after 1s
2026-08-17 03:46:16 -03:00
Francisco Solla
0de9e9f57d chore(OPS50): ignora .pnpm-store no prettier/git — runner self-hosted deixa o store no workspace
Some checks failed
Agent PR Ready + auto-merge / ready-automerge (pull_request) Has been skipped
CI (PR) / docs-guards (pull_request) Successful in 6s
CI (PR) / plans-only-closes (pull_request) Successful in 6s
CI (PR) / scope (pull_request) Successful in 30s
CI (PR) / lint (pull_request) Successful in 39s
CI (PR) / format (pull_request) Successful in 47s
CI (PR) / typecheck (pull_request) Successful in 30s
CI (PR) / knip (pull_request) Successful in 34s
CI (PR) / cycles (pull_request) Successful in 33s
CI (PR) / unit (pull_request) Successful in 46s
CI (PR) / build (pull_request) Has been skipped
CI (PR) / int (pull_request) Failing after 36s
CI (PR) / e2e (pull_request) Failing after 1m30s
CI (PR) / checks (pull_request) Failing after 1s
2026-08-17 03:29:06 -03:00
Francisco Solla
eb281ab5aa fix(e2e C104): clica no slot 14:00 da coluna de hoje, não no centro da linha de hora
Some checks failed
Agent PR Ready + auto-merge / ready-automerge (pull_request) Has been skipped
CI (PR) / docs-guards (pull_request) Successful in 7s
CI (PR) / plans-only-closes (pull_request) Successful in 7s
CI (PR) / scope (pull_request) Successful in 43s
CI (PR) / lint (pull_request) Successful in 54s
CI (PR) / typecheck (pull_request) Successful in 30s
CI (PR) / knip (pull_request) Successful in 31s
CI (PR) / cycles (pull_request) Successful in 30s
CI (PR) / unit (pull_request) Successful in 44s
CI (PR) / format (pull_request) Failing after 2m6s
CI (PR) / int (pull_request) Has been skipped
CI (PR) / build (pull_request) Has been skipped
CI (PR) / e2e (pull_request) Has been skipped
CI (PR) / checks (pull_request) Failing after 1s
O data-time do FullCalendar é uma linha única que atravessa a semana; o
clique force no centro dela resolve o dia pela coordenada x -> coluna do
meio da semana (quinta). Com o término calculado como hoje+1 (C134), o
teste falhava seg/ter quando o término caía antes do início (alert de
validação no overlay). Passa a clicar na coluna do dia atual.
2026-08-17 02:53:02 -03:00
Francisco Solla
2f538e396b OPS50: ajusta changelog ao formato prettier 2026-08-16 23:34:28 -03:00
Francisco Solla
f20305759a OPS50: port CI e scripts de agentes do GitHub para o Forgejo
Workflows nativos em .forgejo/workflows/ (ci, ci-pr, agent-pool,
automerge, issue-transition, plan-issue, vercel-promote, archive),
removendo .github/workflows e .github/actions. Runner Forgejo v13 com
services Postgres por porta + DB_HOST via gateway do bridge. Libs de
agente sobre o novo cliente forgejo-api.mjs (zero dependências,
GITHUB_SERVER_URL/FORGEJO_API_URL), helpers de workflow plain-Node.
pnpm issue corrigido (await em função sync) e validado ao vivo. Testes:
forgejoApi.unit.spec.ts novo, pin do matrix do ci.yml atualizado.

Closes #1 (parte 1 — docs/issues/pool seguem na parte 2)
2026-08-16 23:32:20 -03:00
Francisco Solla
94204cfb5e spike(OPS50): probe gateway com octetos na ordem certa
All checks were successful
Spike — forgejo-runner v13 node24 actions + gateway / probe (push) Successful in 12s
2026-08-16 22:43:15 -03:00
Francisco Solla
d2a658891c spike(OPS50): fix name yaml (dois-pontos)
Some checks failed
Spike — forgejo-runner v13 node24 actions + gateway / probe (push) Failing after 1m32s
2026-08-16 22:40:12 -03:00
Francisco Solla
5f0e84b513 spike(OPS50): node24 actions + gateway no forgejo-runner v13 2026-08-16 22:38:23 -03:00
Francisco Solla
9506251cb4 spike(OPS50): probe gateway via /proc/net/route
Some checks failed
Spike — service postgres via gateway do bridge / probe (push) Failing after 37s
2026-08-16 22:29:42 -03:00
Francisco Solla
ef7ae55f2e spike(OPS50): probe gateway do bridge
Some checks failed
Spike — service postgres via gateway do bridge / probe (push) Failing after 5s
2026-08-16 22:28:12 -03:00
Francisco Solla
c8ca121e15 spike(OPS50): probe v2
Some checks failed
Spike — service postgres em porta própria / probe (push) Failing after 5s
2026-08-16 22:24:54 -03:00
Francisco Solla
890e1609cf spike(OPS50): probe de alias do service postgres 2026-08-16 22:22:39 -03:00
Francisco Solla
d34f723db8 spike(OPS50): probe de service postgres em porta própria no runner
Some checks failed
Spike — service postgres em porta própria / probe (push) Failing after 45s
2026-08-16 22:20:07 -03:00