Skip to content

[DEBT] main sem branch protection: PRs mergeados com CI rodado contra base desatualizada #296

Open

Description

@clickmatos

Qual é a dívida?

PRs podem ser mergeados com um CI verde que rodou contra uma versão antiga da main. A main não tem branch protection nenhuma (GET /branches/main/protection → 404), então o GitHub não exige que a branch esteja atualizada nem que os checks passem antes do merge.

Exemplo concreto (2026-10-08): o #286 (dependabot, production-deps) teve o CI rodado antes do merge do #277 (postcss). Os dois alteram platform/package-lock.json. O git fez o merge textual sem conflito, mas a combinação dos dois lockfiles nunca foi validada por CI antes de chegar na main — só pelo CI de push da própria main, depois do fato.

Por que é dívida?

Como chegou aqui?

O repositório nunca teve branch protection configurada; o fluxo depende de quem mergeia conferir manualmente.

Plano de migração

  • Ativar branch protection (ou ruleset) na main exigindo os checks CLI (Python) e Platform (Next.js)
  • Ativar "Require branches to be up to date before merging" — ou, alternativamente, habilitar Merge Queue para não precisar rebasear cada PR manualmente
  • Confirmar que o dependabot continua conseguindo rebasear e mergear seus PRs com a regra ativa
  • Documentar a regra no CONTRIBUTING / CLAUDE.md, se aplicável

Deadline / gatilho pra pagar

Antes de mergear os stacks #280–#291 e #282–#292.

Activity

  1. added
    type: tech-debtCódigo sub-ótimo conhecido, workaround, ou cleanup pendente
    on Oct 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    type: tech-debtCódigo sub-ótimo conhecido, workaround, ou cleanup pendente

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions