Skip to content

Onda 5 (T1) — job de cobertura não-bloqueante no CI#73

Merged
danzeroum merged 1 commit into
mainfrom
claude/doc-repository-analysis-wcg7jb
Jul 14, 2026
Merged

Onda 5 (T1) — job de cobertura não-bloqueante no CI#73
danzeroum merged 1 commit into
mainfrom
claude/doc-repository-analysis-wcg7jb

Conversation

@danzeroum

Copy link
Copy Markdown
Owner

Onda 5, item T1 — medir cobertura no CI

Último item não-breaking da Onda 5 (B4 e B6 já em main).

Adiciona o job coverage ao CI (só em PR, continue-on-error): produz os números reais de cobertura sem virar gate. O gate de qualidade continua comportamental (rust/verify/sandbox), não a % de linha — como a doc §4.6 sempre defendeu.

  • Rust: cargo tarpaulin --workspace --exclude btv-proto (via taiki-e/install-action, como o cargo-deny).
  • Python: uv run --with pytest-cov pytest --cov=packages — dependência efêmera, sem tocar pyproject/uv.lock (o job python segue idêntico).
  • Relatórios (cobertura.xml, python/coverage.xml) sobem como artefato coverage-reports.
  • docs/documentacao: mapeamentos/04 troca a nota "CI não roda cobertura" pela descrição do job; diagramas/01 e 08 passam 13 → 14 jobs (+ linha do job na tabela).

Design não-bloqueante

continue-on-error: true (job e steps): mesmo que tarpaulin/pytest-cov falhem ou estourem timeout, o run permanece verde — o relatório é informativo, nunca reprova o PR. YAML validado (yaml.safe_load → 14 jobs).

Nota de verificação

Este é o único item da campanha que não pude validar 100% localmente (o tarpaulin exige instalação lenta). A mitigação é o design não-bloqueante: o pior caso é o job aparecer amarelo/vermelho sem afetar o merge. Os outros 13 jobs validam o código como sempre.

🤖 Generated with Claude Code


Generated by Claude Code

Adiciona o job `coverage` ao CI (só em PR, `continue-on-error`): produz os
números REAIS de cobertura sem virar gate — o gate de qualidade continua
comportamental (`rust`/`verify`/`sandbox`), não a % de linha.

- Rust: `cargo tarpaulin --workspace --exclude btv-proto` (via
  taiki-e/install-action, como o cargo-deny).
- Python: `uv run --with pytest-cov pytest --cov=packages` — dep efêmera, sem
  tocar pyproject/uv.lock (o job `python` segue idêntico).
- Relatórios (`cobertura.xml`, `python/coverage.xml`) sobem como artefato.
- docs/documentacao: mapeamentos/04 troca a nota "CI não roda cobertura" pela
  descrição do job; diagramas/01 e 08 passam 13 → 14 jobs de CI (+ linha do job).

YAML validado (yaml.safe_load). O job é não-bloqueante por design: mesmo que o
tarpaulin/pytest-cov falhem, o run permanece verde (relatório é informativo).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DkWvx5G1XqRZwybmCErshc
@danzeroum danzeroum merged commit 6e6c6f2 into main Jul 14, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants