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ń
| Zadanie | Cel | Kiedy uruchamia się |
|---|---|---|
docs-scope | Wykryj zmiany tylko w dokumentacji | Zawsze |
changed-scope | Wykryj, które obszary się zmieniły (node/macos/android) | PR bez zmian w dokumentacji |
check | Typy TypeScript, lint, formatowanie | Zmiany poza dokumentacją |
check-docs | Lint Markdown + sprawdzanie zepsutych linków | Zmiany w dokumentacji |
code-analysis | Sprawdzanie progu LOC (1000 linii) | Tylko PR |
secrets | Wykrywanie wycieków sekretów | Zawsze |
build-artifacts | Zbuduj dist raz, udostępnij innym zadaniom | Poza dokumentacją, zmiany node |
release-check | Waliduj zawartość npm pack | Po buildzie |
checks | Testy Node/Bun + sprawdzenie protokołu | Poza dokumentacją, zmiany node |
checks-windows | Testy specyficzne dla Windows | Poza dokumentacją, zmiany node |
macos | Swift lint/build/test + testy TS | PR ze zmianami w macos |
android | Build Gradle + testy | Poza dokumentacją, zmiany android |
Kolejność Fail-Fast
Zadania są uporządkowane tak, aby tanie sprawdzenia kończyły się niepowodzeniem przed uruchomieniem kosztownych:
docs-scope+code-analysis+check(równolegle, ~1-2 min)build-artifacts(zablokowane przez powyższe)checks,checks-windows,macos,android(zablokowane przez build)
Runnery
| Runner | Zadania |
|---|---|
blacksmith-16vcpu-ubuntu-2404 | Większość zadań Linux, w tym wykrywanie zakresu |
blacksmith-16vcpu-windows-2025 | checks-windows |
macos-latest | macos, ios |
Lokalne odpowiedniki
bashpnpm check # typy + lint + formatowanie pnpm test # testy vitest pnpm check:docs # formatowanie docs + lint + zepsute linki pnpm release:check # walidacja npm pack