CI Pipeline

CI हर main पर push और हर pull request पर चलता है। यह केवल docs या native code बदलने पर महंगे jobs को skip करने के लिए स्मार्ट scoping का उपयोग करता है।

Job अवलोकन

Jobउद्देश्यकब चलता है
docs-scopeकेवल-docs परिवर्तनों का पता लगानाहमेशा
changed-scopeपता लगाना कि कौन से क्षेत्र बदले (node/macos/android)गैर-docs PRs
checkTypeScript types, lint, formatगैर-docs परिवर्तन
check-docsMarkdown lint + टूटे लिंक की जांचDocs बदले
code-analysisLOC थ्रेशोल्ड जांच (1000 lines)केवल PRs
secretsलीक हुए secrets का पता लगानाहमेशा
build-artifactsएक बार dist बनाएं, अन्य jobs के साथ साझा करेंगैर-docs, node परिवर्तन
release-checknpm pack सामग्री मान्य करेंbuild के बाद
checksNode/Bun tests + protocol जांचगैर-docs, node परिवर्तन
checks-windowsWindows-विशिष्ट testsगैर-docs, node परिवर्तन
macosSwift lint/build/test + TS testsmacos परिवर्तनों वाले PRs
androidGradle build + testsगैर-docs, android परिवर्तन

Fail-Fast क्रम

Jobs को इस तरह क्रमबद्ध किया गया है कि महंगे jobs चलने से पहले सस्ते checks विफल हों:

  1. docs-scope + code-analysis + check (समानांतर, ~1-2 मिनट)
  2. build-artifacts (ऊपर पर अवरुद्ध)
  3. checks, checks-windows, macos, android (build पर अवरुद्ध)

Runners

RunnerJobs
blacksmith-16vcpu-ubuntu-2404अधिकांश Linux jobs, scope पता लगाने सहित
blacksmith-16vcpu-windows-2025checks-windows
macos-latestmacos, ios

स्थानीय समकक्ष

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