CI Pipeline
CI, main'e her push ve her pull request'te çalışır. Yalnızca dokümanlar veya yerel kod değiştiğinde pahalı işleri atlamak için akıllı kapsam belirleme kullanır.
İşlere Genel Bakış
| İş | Amaç | Ne zaman çalışır |
|---|---|---|
docs-scope | Yalnızca doküman değişikliklerini algıla | Her zaman |
changed-scope | Hangi alanların değiştiğini algıla (node/macos/android) | Doküman dışı PR'lar |
check | TypeScript tipleri, lint, format | Doküman dışı değişiklikler |
check-docs | Markdown lint + kırık link kontrolü | Dokümanlar değiştiğinde |
code-analysis | LOC eşik kontrolü (1000 satır) | Yalnızca PR'lar |
secrets | Sızdırılmış gizli verileri algıla | Her zaman |
build-artifacts | Dist'i bir kez derle, diğer işlerle paylaş | Doküman dışı, node değişiklikleri |
release-check | npm pack içeriğini doğrula | Derlemeden sonra |
checks | Node/Bun testleri + protokol kontrolü | Doküman dışı, node değişiklikleri |
checks-windows | Windows'a özel testler | Doküman dışı, node değişiklikleri |
macos | Swift lint/derleme/test + TS testleri | macos değişiklikleri olan PR'lar |
android | Gradle derleme + testler | Doküman dışı, android değişiklikleri |
Hızlı Başarısızlık Sırası
İşler, ucuz kontrollerin pahalı olanlar çalışmadan önce başarısız olması için sıralanır:
docs-scope+code-analysis+check(paralel, ~1-2 dk)build-artifacts(yukarıdakiler tarafından engellenir)checks,checks-windows,macos,android(derleme tarafından engellenir)
Çalıştırıcılar
| Çalıştırıcı | İşler |
|---|---|
blacksmith-16vcpu-ubuntu-2404 | Kapsam algılama dahil çoğu Linux işi |
blacksmith-16vcpu-windows-2025 | checks-windows |
macos-latest | macos, ios |
Yerel Eşdeğerler
bashpnpm check # tipler + lint + format pnpm test # vitest testleri pnpm check:docs # doküman format + lint + kırık linkler pnpm release:check # npm pack doğrula