Pipeline CI

Le CI s'exécute sur chaque push vers main et chaque pull request. Il utilise un scope intelligent pour ignorer les tâches coûteuses lorsque seuls les documents ou le code natif ont changé.

Aperçu des tâches

TâcheObjectifQuand elle s'exécute
docs-scopeDétecter les modifications docs uniquementToujours
changed-scopeDétecter les zones modifiées (node/macos/android)PRs non-docs
checkTypes TypeScript, lint, formatModifications non-docs
check-docsLint Markdown + vérification liens cassésDocs modifiés
code-analysisVérification seuil LOC (1000 lignes)PRs uniquement
secretsDétecter les secrets divulguésToujours
build-artifactsConstruire dist une fois, partager avec autres tâchesNon-docs, modifications node
release-checkValider le contenu du npm packAprès build
checksTests Node/Bun + vérification protocoleNon-docs, modifications node
checks-windowsTests spécifiques WindowsNon-docs, modifications node
macosLint/build/test Swift + tests TSPRs avec modifications macos
androidBuild Gradle + testsNon-docs, modifications android

Ordre Fail-Fast

Les tâches sont ordonnées de sorte que les vérifications bon marché échouent avant que les tâches coûteuses ne s'exécutent :

  1. docs-scope + code-analysis + check (parallèle, ~1-2 min)
  2. build-artifacts (bloqué par ci-dessus)
  3. checks, checks-windows, macos, android (bloqués par build)

Runners

RunnerTâches
blacksmith-16vcpu-ubuntu-2404La plupart des tâches Linux, y compris détection scope
blacksmith-16vcpu-windows-2025checks-windows
macos-latestmacos, ios

Équivalents locaux

bash
pnpm check          # types + lint + format
pnpm test           # tests vitest
pnpm check:docs     # format docs + lint + liens cassés
pnpm release:check  # valider npm pack