Pipeline CI

CI uruchamia się przy każdym push do main i każdym pull requeście. Używa inteligentnego zakresu, aby pominąć kosztowne zadania, gdy zmieniły się tylko dokumenty lub kod natywny.

Przegląd zadań

ZadanieCelKiedy uruchamia się
docs-scopeWykryj zmiany tylko w dokumentacjiZawsze
changed-scopeWykryj, które obszary się zmieniły (node/macos/android)PR bez zmian w dokumentacji
checkTypy TypeScript, lint, formatowanieZmiany poza dokumentacją
check-docsLint Markdown + sprawdzanie zepsutych linkówZmiany w dokumentacji
code-analysisSprawdzanie progu LOC (1000 linii)Tylko PR
secretsWykrywanie wycieków sekretówZawsze
build-artifactsZbuduj dist raz, udostępnij innym zadaniomPoza dokumentacją, zmiany node
release-checkWaliduj zawartość npm packPo buildzie
checksTesty Node/Bun + sprawdzenie protokołuPoza dokumentacją, zmiany node
checks-windowsTesty specyficzne dla WindowsPoza dokumentacją, zmiany node
macosSwift lint/build/test + testy TSPR ze zmianami w macos
androidBuild Gradle + testyPoza dokumentacją, zmiany android

Kolejność Fail-Fast

Zadania są uporządkowane tak, aby tanie sprawdzenia kończyły się niepowodzeniem przed uruchomieniem kosztownych:

  1. docs-scope + code-analysis + check (równolegle, ~1-2 min)
  2. build-artifacts (zablokowane przez powyższe)
  3. checks, checks-windows, macos, android (zablokowane przez build)

Runnery

RunnerZadania
blacksmith-16vcpu-ubuntu-2404Większość zadań Linux, w tym wykrywanie zakresu
blacksmith-16vcpu-windows-2025checks-windows
macos-latestmacos, ios

Lokalne odpowiedniki

bash
pnpm check          # typy + lint + formatowanie
pnpm test           # testy vitest
pnpm check:docs     # formatowanie docs + lint + zepsute linki
pnpm release:check  # walidacja npm pack