Ir al contenido

CI Pipeline

La CI se ejecuta en cada push a main y en cada pull request. Utiliza un alcance inteligente para omitir trabajos costosos cuando solo cambiaron áreas no relacionadas.

TrabajoPropósitoCuándo se ejecuta
preflightÁmbito de documentos, ámbito de cambios, escaneo de claves, auditoría de flujo de trabajo, auditoría de dependencias de producciónSiempre; auditoría basada en node solo en cambios que no son de documentación
docs-scopeDetectar cambios solo en la documentaciónSiempre
changed-scopeDetectar qué áreas cambiaron (node/macos/android/windows)Cambios que no son de documentación
checkTipos de TypeScript, lint, formatoSin documentación, cambios de node
check-docsLint de Markdown + verificación de enlaces rotosDocumentación cambiada
secretsDetectar secretos filtradosSiempre
build-artifactsConstruir dist una vez, compartir con release-checkEnvíos a main, cambios de node
release-checkValidar el contenido del paquete npmEnvíos a main después de la compilación
checksPruebas de Node + verificación de protocolo en PRs; compatibilidad con Bun en envíosSin documentación, cambios de node
compat-node22Compatibilidad mínima con el tiempo de ejecución de Node admitidoEnvíos a main, cambios de node
checks-windowsPruebas específicas de WindowsSin documentación, cambios relevantes para Windows
macosLint/construcción/pruebas de Swift + pruebas de TSPRs con cambios de macos
androidCompilación de Gradle + pruebasSin documentación, cambios de android

Los trabajos están ordenados para que las verificaciones económicas fallen antes de que se ejecuten las costosas:

  1. docs-scope + changed-scope + check + secrets (paralelo, puertas económicas primero)
  2. PRs: checks (prueba de Linux Node dividida en 2 fragmentos), checks-windows, macos, android
  3. Envíos a main: build-artifacts + release-check + compatibilidad con Bun + compat-node22

La lógica del ámbito vive en scripts/ci-changed-scope.mjs y está cubierta por pruebas unitarias en src/scripts/ci-changed-scope.test.ts. El mismo módulo de ámbito compartido también impulsa el flujo de trabajo separado install-smoke a través de un filtro changed-smoke más estricto, por lo que las pruebas de humeo de Docker/instalación solo se ejecutan para cambios relevantes de instalación, empaquetado y contenedores.

RunnerTrabajos
blacksmith-16vcpu-ubuntu-2404La mayoría de los trabajos de Linux, incluida la detección del ámbito
blacksmith-32vcpu-windows-2025checks-windows
macos-latestmacos, ios
Ventana de terminal
pnpm check # types + lint + format
pnpm test # vitest tests
pnpm check:docs # docs format + lint + broken links
pnpm release:check # validate npm pack