CI Pipeline

CI запускається при кожному push до main та кожному pull request. Він використовує розумну область дії, щоб пропускати дорогі завдання, коли змінилися лише документи або нативний код.

Огляд завдань

ЗавданняПризначенняКоли запускається
docs-scopeВиявлення змін лише в документаціїЗавжди
changed-scopeВиявлення змінених областей (node/macos/android)Не-документальні PR
checkТипи TypeScript, lint, formatЗміни не в документації
check-docsLint Markdown + перевірка зламаних посиланьЗміни в документації
code-analysisПеревірка порогу LOC (1000 рядків)Тільки PR
secretsВиявлення витоків секретівЗавжди
build-artifactsЗбірка dist один раз, спільне використанняНе-документи, зміни node
release-checkПеревірка вмісту npm packПісля збірки
checksТести Node/Bun + перевірка протоколуНе-документи, зміни node
checks-windowsТести для WindowsНе-документи, зміни node
macosSwift lint/build/test + тести TSPR зі змінами macos
androidGradle build + тестиНе-документи, зміни android

Порядок швидкого збою

Завдання впорядковані так, щоб дешеві перевірки завершувалися невдало до запуску дорогих:

  1. docs-scope + code-analysis + check (паралельно, ~1-2 хв)
  2. build-artifacts (заблоковано на вищезазначених)
  3. checks, checks-windows, macos, android (заблоковано на збірці)

Раннери

РаннерЗавдання
blacksmith-16vcpu-ubuntu-2404Більшість завдань Linux, включаючи виявлення області
blacksmith-16vcpu-windows-2025checks-windows
macos-latestmacos, ios

Локальні еквіваленти

bash
pnpm check          # типи + lint + format
pnpm test           # тести vitest
pnpm check:docs     # format документів + lint + зламані посилання
pnpm release:check  # перевірка npm pack