Skip to main content
CIはmainへのすべてのプッシュとすべてのプルリクエストで実行されます。ドキュメントのみまたはネイティブコードのみが変更された場合、高コストなジョブをスキップするスマートスコープ機能を使用します。

ジョブ概要

ジョブ目的実行タイミング
docs-scopeドキュメントのみの変更を検出常時
changed-scope変更された領域を検出(node/macos/android/windows)ドキュメント以外のPR
checkTypeScript型、lint、フォーマットmainへのプッシュ、またはNode関連の変更があるPR
check-docsMarkdown lintと壊れたリンクチェックドキュメントが変更された場合
code-analysisLOC閾値チェック(1000行)PRのみ
secrets漏洩したシークレットを検出常時
build-artifactsdistを一度ビルドし、他のジョブと共有ドキュメント以外、node変更
release-checknpm packの内容を検証ビルド後
checksNode/Bunテスト + プロトコルチェックドキュメント以外、node変更
checks-windowsWindows固有のテストドキュメント以外、windows関連の変更
macosSwift lint/build/test + TSテストmacos変更があるPR
androidGradleビルド + テストドキュメント以外、android変更

Fail-Fast順序

ジョブは、高コストなジョブが実行される前に低コストなチェックが失敗するように順序付けられています:
  1. docs-scope + code-analysis + check(並列、約1-2分)
  2. build-artifacts(上記に依存)
  3. checkschecks-windowsmacosandroid(ビルドに依存)
スコープロジックはscripts/ci-changed-scope.mjsにあり、src/scripts/ci-changed-scope.test.tsのユニットテストでカバーされています。

ランナー

ランナージョブ
blacksmith-16vcpu-ubuntu-2404スコープ検出を含むほとんどのLinuxジョブ
blacksmith-32vcpu-windows-2025checks-windows
macos-latestmacosios

ローカル同等コマンド

pnpm check          # 型 + lint + フォーマット
pnpm test           # vitestテスト
pnpm check:docs     # docsフォーマット + lint + 壊れたリンク
pnpm release:check  # npm packを検証