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

JobZweckWann läuft es
docs-scopeNur-Docs-Änderungen erkennenImmer
changed-scopeErkennen, welche Bereiche geändert wurden (node/macos/android)Nicht-Docs-PRs
checkTypeScript-Typen, Lint, FormatNicht-Docs-Änderungen
check-docsMarkdown-Lint + Broken-Link-CheckDocs geändert
code-analysisLOC-Schwellenwert-Prüfung (1000 Zeilen)Nur PRs
secretsGeleakte Secrets erkennenImmer
build-artifactsDist einmal bauen, mit anderen Jobs teilenNicht-Docs, Node-Änderungen
release-checknpm pack-Inhalte validierenNach Build
checksNode/Bun-Tests + Protocol-CheckNicht-Docs, Node-Änderungen
checks-windowsWindows-spezifische TestsNicht-Docs, Node-Änderungen
macosSwift Lint/Build/Test + TS-TestsPRs mit macOS-Änderungen
androidGradle Build + TestsNicht-Docs, Android-Änderungen

Fail-Fast-Reihenfolge

Jobs sind so angeordnet, dass günstige Checks fehlschlagen, bevor teure laufen:

  1. docs-scope + code-analysis + check (parallel, ~1-2 Min.)
  2. build-artifacts (blockiert durch obige)
  3. checks, checks-windows, macos, android (blockiert durch Build)

Runner

RunnerJobs
blacksmith-16vcpu-ubuntu-2404Die meisten Linux-Jobs, inkl. Scope-Erkennung
blacksmith-16vcpu-windows-2025checks-windows
macos-latestmacos, ios

Lokale Äquivalente

bash
pnpm check          # Typen + Lint + Format
pnpm test           # Vitest-Tests
pnpm check:docs     # Docs-Format + Lint + Broken Links
pnpm release:check  # npm pack validieren