Pipeline CI

La CI viene eseguita ad ogni push su main e ad ogni pull request. Utilizza uno scoping intelligente per saltare i job costosi quando sono cambiati solo documenti o codice nativo.

Panoramica dei job

JobScopoQuando viene eseguito
docs-scopeRileva modifiche solo ai documentiSempre
changed-scopeRileva quali aree sono cambiate (node/macos/android)PR non solo documenti
checkTipi TypeScript, lint, formatModifiche non solo documenti
check-docsLint Markdown + controllo link interrottiDocumenti modificati
code-analysisControllo soglia LOC (1000 righe)Solo PR
secretsRileva segreti trapelatiSempre
build-artifactsBuild dist una volta, condividi con altri jobNon documenti, modifiche node
release-checkValida contenuti npm packDopo build
checksTest Node/Bun + controllo protocolloNon documenti, modifiche node
checks-windowsTest specifici per WindowsNon documenti, modifiche node
macosSwift lint/build/test + test TSPR con modifiche macos
androidBuild Gradle + testNon documenti, modifiche android

Ordine fail-fast

I job sono ordinati in modo che i controlli economici falliscano prima che vengano eseguiti quelli costosi:

  1. docs-scope + code-analysis + check (paralleli, ~1-2 min)
  2. build-artifacts (bloccato sui precedenti)
  3. checks, checks-windows, macos, android (bloccati su build)

Runner

RunnerJob
blacksmith-16vcpu-ubuntu-2404La maggior parte dei job Linux, incluso il rilevamento dello scope
blacksmith-16vcpu-windows-2025checks-windows
macos-latestmacos, ios

Equivalenti locali

bash
pnpm check          # tipi + lint + format
pnpm test           # test vitest
pnpm check:docs     # format + lint + link interrotti documenti
pnpm release:check  # valida npm pack