OPS62 — CI: cancelar jobs irmãos quando um job falha (fail-fast no Forgejo runner) #59

Closed
opened 2026-08-18 17:28:25 +00:00 by fsolla · 3 comments
Owner
id depends serializes priority model
OPS62
P2 composer-2.5

Plano: docs/plans/ops62-ci-fail-fast-forgejo.md

--- id: OPS62 depends: [] serializes: [] priority: P2 model: composer-2.5 --- Plano: [`docs/plans/ops62-ci-fail-fast-forgejo.md`](docs/plans/ops62-ci-fail-fast-forgejo.md)
fsolla added the
blocked
kind:chore
prio:P2
labels 2026-08-18 17:28:25 +00:00
fsolla added
ready
and removed
blocked
labels 2026-08-18 18:23:11 +00:00
fsolla added
in-progress
and removed
ready
labels 2026-08-18 21:03:43 +00:00
Author
Owner

Claimed by agent run at 2026-08-18T21:03:43.590Z. Lock otimista: outro claim deve falhar e re-rodar pnpm agent:claim.

Claimed by agent run at 2026-08-18T21:03:43.590Z. Lock otimista: outro claim deve falhar e re-rodar `pnpm agent:claim`.
fsolla added
done
in-prod
and removed
in-progress
labels 2026-08-18 23:32:38 +00:00
Author
Owner

Merged em main via PR #75 — done + in-prod. Deploy de produção segue o verificador ci.yml (gated).

Merged em main via PR #75 — `done` + `in-prod`. Deploy de produção segue o verificador `ci.yml` (gated).
Author
Owner

Entregue via PR #75 (merged, rebase) — fail-fast estrutural X1: ci-pr.yml e ci.yml viraram 1 job checks sequencial (guards → lint → format → typecheck → knip → cycles → unit → int → build → e2e). Step vermelho interrompe o run e libera o slot; sem API de cancel/watchdog/upgrade (a intenção original fica como histórico; impl: docs/plans/ops62-ci-fail-fast-forgejo-impl.md). Correções ao vivo: Forgejo 9 não expande expressões em services.ports (run 730) → services por nome na rede do job, sem publish host (sem colisão entre runs concorrentes). Validação: PR CI verde (suíte inteira no envelope novo), run do main 782 success (checks X1; deploy stale-skip pelo guard OPS53 — o main avançou durante o run; o site ganha o OPS62 no próximo deploy do head). Débitos: timeout do waitForChecks 30×50 min (impl plan), flake do municipalitiesWithoutUpdateTool sob carga → #81. Labels flipados pelo issue-done (done/in-prod).

Entregue via PR #75 (merged, rebase) — fail-fast estrutural X1: ci-pr.yml e ci.yml viraram 1 job `checks` sequencial (guards → lint → format → typecheck → knip → cycles → unit → int → build → e2e). Step vermelho interrompe o run e libera o slot; sem API de cancel/watchdog/upgrade (a intenção original fica como histórico; impl: `docs/plans/ops62-ci-fail-fast-forgejo-impl.md`). Correções ao vivo: Forgejo 9 não expande expressões em `services.ports` (run 730) → services por nome na rede do job, sem publish host (sem colisão entre runs concorrentes). Validação: PR CI verde (suíte inteira no envelope novo), run do main 782 success (checks X1; deploy stale-skip pelo guard OPS53 — o main avançou durante o run; o site ganha o OPS62 no próximo deploy do head). Débitos: timeout do `waitForChecks` 30×50 min (impl plan), flake do `municipalitiesWithoutUpdateTool` sob carga → #81. Labels flipados pelo issue-done (done/in-prod).
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: fsolla/teqo#59
No description provided.