CI Pipeline
Die CI läuft bei jedem Push auf main und bei jedem Pull Request. Sie verwendet intelligentes Scoping, um teure Jobs zu überspringen, wenn nur Docs oder nativer Code geändert wurde.
Job-Übersicht
| Job | Zweck | Wann läuft es |
|---|---|---|
docs-scope | Nur-Docs-Änderungen erkennen | Immer |
changed-scope | Erkennen, welche Bereiche geändert wurden (node/macos/android) | Nicht-Docs-PRs |
check | TypeScript-Typen, Lint, Format | Nicht-Docs-Änderungen |
check-docs | Markdown-Lint + Broken-Link-Check | Docs geändert |
code-analysis | LOC-Schwellenwert-Prüfung (1000 Zeilen) | Nur PRs |
secrets | Geleakte Secrets erkennen | Immer |
build-artifacts | Dist einmal bauen, mit anderen Jobs teilen | Nicht-Docs, Node-Änderungen |
release-check | npm pack-Inhalte validieren | Nach Build |
checks | Node/Bun-Tests + Protocol-Check | Nicht-Docs, Node-Änderungen |
checks-windows | Windows-spezifische Tests | Nicht-Docs, Node-Änderungen |
macos | Swift Lint/Build/Test + TS-Tests | PRs mit macOS-Änderungen |
android | Gradle Build + Tests | Nicht-Docs, Android-Änderungen |
Fail-Fast-Reihenfolge
Jobs sind so angeordnet, dass günstige Checks fehlschlagen, bevor teure laufen:
docs-scope+code-analysis+check(parallel, ~1-2 Min.)build-artifacts(blockiert durch obige)checks,checks-windows,macos,android(blockiert durch Build)
Runner
| Runner | Jobs |
|---|---|
blacksmith-16vcpu-ubuntu-2404 | Die meisten Linux-Jobs, inkl. Scope-Erkennung |
blacksmith-16vcpu-windows-2025 | checks-windows |
macos-latest | macos, ios |
Lokale Äquivalente
bashpnpm check # Typen + Lint + Format pnpm test # Vitest-Tests pnpm check:docs # Docs-Format + Lint + Broken Links pnpm release:check # npm pack validieren