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âche | Objectif | Quand elle s'exécute |
|---|---|---|
docs-scope | Détecter les modifications docs uniquement | Toujours |
changed-scope | Détecter les zones modifiées (node/macos/android) | PRs non-docs |
check | Types TypeScript, lint, format | Modifications non-docs |
check-docs | Lint Markdown + vérification liens cassés | Docs modifiés |
code-analysis | Vérification seuil LOC (1000 lignes) | PRs uniquement |
secrets | Détecter les secrets divulgués | Toujours |
build-artifacts | Construire dist une fois, partager avec autres tâches | Non-docs, modifications node |
release-check | Valider le contenu du npm pack | Après build |
checks | Tests Node/Bun + vérification protocole | Non-docs, modifications node |
checks-windows | Tests spécifiques Windows | Non-docs, modifications node |
macos | Lint/build/test Swift + tests TS | PRs avec modifications macos |
android | Build Gradle + tests | Non-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 :
docs-scope+code-analysis+check(parallèle, ~1-2 min)build-artifacts(bloqué par ci-dessus)checks,checks-windows,macos,android(bloqués par build)
Runners
| Runner | Tâches |
|---|---|
blacksmith-16vcpu-ubuntu-2404 | La plupart des tâches Linux, y compris détection scope |
blacksmith-16vcpu-windows-2025 | checks-windows |
macos-latest | macos, ios |
Équivalents locaux
bashpnpm check # types + lint + format pnpm test # tests vitest pnpm check:docs # format docs + lint + liens cassés pnpm release:check # valider npm pack