CI конвейер

CI запускается при каждом push в main и каждом pull request. Он использует умную область видимости для пропуска дорогостоящих задач, когда изменился только код документации или нативный код.

Обзор задач

ЗадачаНазначениеКогда запускается
docs-scopeОпределение изменений только в документацииВсегда
changed-scopeОпределение измененных областей (node/macos/android)PR без изменений в docs
checkПроверка TypeScript типов, линтинг, форматированиеИзменения не только в docs
check-docsЛинтинг Markdown + проверка битых ссылокИзменения в docs
code-analysisПроверка порога строк кода (1000 строк)Только PR
secretsОбнаружение утечки секретовВсегда
build-artifactsСборка dist один раз, общий доступ для других задачНе docs, изменения node
release-checkВалидация содержимого npm packПосле сборки
checksТесты Node/Bun + проверка протоколаНе docs, изменения node
checks-windowsСпецифичные тесты для WindowsНе docs, изменения node
macosSwift линтинг/сборка/тесты + TS тестыPR с изменениями macos
androidGradle сборка + тестыНе docs, изменения android

Порядок быстрого отказа

Задачи упорядочены так, что дешевые проверки падают до запуска дорогих:

  1. docs-scope + code-analysis + check (параллельно, ~1-2 мин)
  2. build-artifacts (блокируется вышеуказанными)
  3. checks, checks-windows, macos, android (блокируется сборкой)

Runners

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

Локальные эквиваленты

bash
pnpm check          # типы + линтинг + форматирование
pnpm test           # vitest тесты
pnpm check:docs     # форматирование docs + линтинг + битые ссылки
pnpm release:check  # валидация npm pack