docs: ajuste de AGENTS.md/ci.yml (gate = automerge, sem branch protection) #2
3 changed files with 21 additions and 7 deletions
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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`.
|
||||
#
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in a new issue