CIパイプライン

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

ジョブの概要

ジョブ目的実行タイミング
docs-scopeドキュメントのみの変更を検出常時
changed-scope変更された領域を検出(node/macos/android)ドキュメント以外のPR
checkTypeScript型、リント、フォーマットドキュメント以外の変更
check-docsMarkdownリント + リンク切れチェックドキュメント変更
code-analysisLOCしきい値チェック(1000行)PRのみ
secrets漏洩した秘密を検出常時
build-artifactsdistを一度ビルド、他のジョブと共有ドキュメント以外、node変更
release-checknpm packの内容を検証ビルド後
checksNode/Bunテスト + プロトコルチェックドキュメント以外、node変更
checks-windowsWindows固有のテストドキュメント以外、node変更
macosSwiftリント/ビルド/テスト + TSテストmacos変更を含むPR
androidGradleビルド + テストドキュメント以外、android変更

フェイルファースト順序

ジョブは、安価なチェックが高価なものの実行前に失敗するように順序付けされています:

  1. docs-scope + code-analysis + check(並列、約1-2分)
  2. build-artifacts(上記でブロック)
  3. checkschecks-windowsmacosandroid(ビルドでブロック)

ランナー

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

ローカル同等コマンド

bash
pnpm check          # 型 + リント + フォーマット
pnpm test           # vitestテスト
pnpm check:docs     # ドキュメントフォーマット + リント + リンク切れ
pnpm release:check  # npm packを検証