docs: ajuste de AGENTS.md/ci.yml (gate = automerge, sem branch protection) #2

Merged
fsolla merged 3 commits from OPS1-setup-workflow-teqo into main 2026-08-18 01:08:45 +00:00
3 changed files with 21 additions and 7 deletions

View file

@ -1,7 +1,12 @@
# Safety net: PRs de entrega (feature → main) devem ser Ready + auto-merge.
# Cobre o caso de um agente esquecer de armar o merge. Roda
# scripts/forgejo-pr-automerge.mjs (plain Node): marca draft → ready, espera o
# status check `checks` (branch protection em main) e mergea por rebase.
# Safety net (espelha o teqo): PRs de branch `agent/*` → main devem ser Ready +
# auto-merge. PRs humanos não passam por aqui — o merge deles é feito pelo
# agente local via `bun run pr -- --automerge` (com o PAT do usuário, que tem
# permissão de merge; o usuário sintético `forgejo-actions` do GITHUB_TOKEN não
# consegue mergear em repos de org).
#
# Roda scripts/forgejo-pr-automerge.mjs (plain Node): marca draft → ready, espera
# o contexto `checks` ficar green (ignorando o próprio status do job) e mergea
# por rebase.
name: Agent PR Ready + auto-merge
@ -12,7 +17,9 @@ on:
jobs:
ready-automerge:
if: github.event.pull_request.state == 'open'
if: >-
github.event.pull_request.state == 'open' &&
startsWith(github.event.pull_request.head.ref, 'agent/')
runs-on: host
timeout-minutes: 40
steps:

View file

@ -1,8 +1,10 @@
name: CI
# PR gate + post-merge verifier + deploy:
# - PRs (feature → main) rodam `checks` (lint + build + e2e) — o branch
# protection em `main` exige o status `checks` para merge.
# - PRs (feature → main) rodam `checks` (lint + build + e2e). O merge é
# gated pelo script de auto-merge (`pr.mjs --automerge` /
# `forgejo-pr-automerge.mjs`), que espera `checks` green — sem branch
# protection server-side (espelha o teqo).
# - Push em `main` (merge dos PRs) roda `checks` de novo e depois `deploy`
# (rsync do dist/ para o homeserver). Deploy é gated em `checks`.
#

View file

@ -75,6 +75,11 @@ Ciclo completo (detalhes nas skills `plan-issue` / `work-issue`):
- `plan-issue-ready-on-main-merge.yml` — PRs com `Related #N` promovem `blocked` → `ready` (`scripts/agent-promote-related-on-merge.mjs`).
- `agent-pr-ready-automerge.yml` — marca Ready e mergea quando `checks` ficar green (safety net do auto-merge).
**Sem branch protection server-side em `main`** (espelha o teqo): o gate de merge é o
próprio script de auto-merge (`pr.mjs --automerge` / `forgejo-pr-automerge.mjs`),
que espera os status checks ficarem green antes de mergear; o deploy é gated pelo
`needs: checks` do `ci.yml`.
**e2e só no CI** — nunca rode `bun run test:e2e` local como parte do fluxo normal.
## Regras de entrega