Pipeline CI
O CI é executado em cada push para main e em cada pull request. Ele usa escopo inteligente para pular trabalhos caros quando apenas documentação ou código nativo mudou.
Visão geral dos trabalhos
| Trabalho | Propósito | Quando executa |
|---|---|---|
docs-scope | Detectar mudanças apenas em documentação | Sempre |
changed-scope | Detectar quais áreas mudaram (node/macos/android) | PRs não relacionados a docs |
check | Tipos TypeScript, lint, formato | Mudanças não relacionadas a docs |
check-docs | Lint de Markdown + verificação de links quebrados | Documentação alterada |
code-analysis | Verificação de limite de LOC (1000 linhas) | Apenas PRs |
secrets | Detectar segredos vazados | Sempre |
build-artifacts | Construir dist uma vez, compartilhar com outros trabalhos | Mudanças não relacionadas a docs, node |
release-check | Validar conteúdo do npm pack | Após build |
checks | Testes Node/Bun + verificação de protocolo | Mudanças não relacionadas a docs, node |
checks-windows | Testes específicos do Windows | Mudanças não relacionadas a docs, node |
macos | Lint/build/test Swift + testes TS | PRs com mudanças no macos |
android | Build Gradle + testes | Mudanças não relacionadas a docs, android |
Ordem Fail-Fast
Os trabalhos são ordenados para que verificações baratas falhem antes que as caras sejam executadas:
docs-scope+code-analysis+check(paralelo, ~1-2 min)build-artifacts(bloqueado no acima)checks,checks-windows,macos,android(bloqueado no build)
Runners
| Runner | Trabalhos |
|---|---|
blacksmith-16vcpu-ubuntu-2404 | Maioria dos trabalhos Linux, incluindo detecção de escopo |
blacksmith-16vcpu-windows-2025 | checks-windows |
macos-latest | macos, ios |
Equivalentes locais
bashpnpm check # tipos + lint + formato pnpm test # testes vitest pnpm check:docs # formato docs + lint + links quebrados pnpm release:check # validar npm pack