CI Pipeline

CI berjalan pada setiap push ke main dan setiap pull request. Ini menggunakan scoping pintar untuk melewati job yang mahal ketika hanya dokumen atau kode native yang berubah.

Ringkasan Job

JobTujuanKapan dijalankan
docs-scopeDeteksi perubahan docs-onlySelalu
changed-scopeDeteksi area mana yang berubah (node/macos/android)PR non-docs
checkTipe TypeScript, lint, formatPerubahan non-docs
check-docsMarkdown lint + pemeriksaan broken linkDocs berubah
code-analysisPemeriksaan threshold LOC (1000 baris)PR only
secretsDeteksi secret yang bocorSelalu
build-artifactsBuild dist sekali, bagikan dengan job lainNon-docs, perubahan node
release-checkValidasi konten npm packSetelah build
checksTes Node/Bun + pemeriksaan protokolNon-docs, perubahan node
checks-windowsTes spesifik WindowsNon-docs, perubahan node
macosSwift lint/build/test + tes TSPR dengan perubahan macos
androidGradle build + tesNon-docs, perubahan android

Urutan Fail-Fast

Job diurutkan sehingga pemeriksaan murah gagal sebelum yang mahal dijalankan:

  1. docs-scope + code-analysis + check (paralel, ~1-2 menit)
  2. build-artifacts (diblokir di atas)
  3. checks, checks-windows, macos, android (diblokir pada build)

Runner

RunnerJob
blacksmith-16vcpu-ubuntu-2404Sebagian besar job Linux, termasuk deteksi scope
blacksmith-16vcpu-windows-2025checks-windows
macos-latestmacos, ios

Ekuivalen Lokal

bash
pnpm check          # types + lint + format
pnpm test           # vitest tests
pnpm check:docs     # docs format + lint + broken links
pnpm release:check  # validate npm pack