Pipeline CI
El CI se ejecuta en cada push a main y en cada pull request. Utiliza alcance inteligente para omitir trabajos costosos cuando solo cambiaron documentos o código nativo.
Resumen de trabajos
| Trabajo | Propósito | Cuándo se ejecuta |
|---|---|---|
docs-scope | Detectar cambios solo en docs | Siempre |
changed-scope | Detectar qué áreas cambiaron (node/macos/android) | PRs que no son solo docs |
check | Tipos TypeScript, lint, formato | Cambios que no son solo docs |
check-docs | Lint de Markdown + verificación de enlaces rotos | Docs cambiaron |
code-analysis | Verificación de umbral LOC (1000 líneas) | Solo PRs |
secrets | Detectar secretos filtrados | Siempre |
build-artifacts | Construir dist una vez, compartir con otros trabajos | No docs, cambios en node |
release-check | Validar contenidos de npm pack | Después de build |
checks | Tests Node/Bun + verificación de protocolo | No docs, cambios en node |
checks-windows | Tests específicos de Windows | No docs, cambios en node |
macos | Swift lint/build/test + tests TS | PRs con cambios en macos |
android | Gradle build + tests | No docs, cambios en android |
Orden de fallo rápido
Los trabajos están ordenados para que las verificaciones baratas fallen antes de que se ejecuten las costosas:
docs-scope+code-analysis+check(paralelo, ~1-2 min)build-artifacts(bloqueado en lo anterior)checks,checks-windows,macos,android(bloqueado en build)
Ejecutores
| Ejecutor | Trabajos |
|---|---|
blacksmith-16vcpu-ubuntu-2404 | La mayoría de trabajos Linux, incluyendo detección de alcance |
blacksmith-16vcpu-windows-2025 | checks-windows |
macos-latest | macos, ios |
Equivalentes locales
bashpnpm check # types + lint + formato pnpm test # tests vitest pnpm check:docs # formato docs + lint + enlaces rotos pnpm release:check # validar npm pack