mainへのすべてのプッシュとすべてのプルリクエストで実行されます。ドキュメントのみまたはネイティブコードのみが変更された場合、高コストなジョブをスキップするスマートスコープ機能を使用します。
ジョブ概要
| ジョブ | 目的 | 実行タイミング |
|---|---|---|
docs-scope | ドキュメントのみの変更を検出 | 常時 |
changed-scope | 変更された領域を検出(node/macos/android/windows) | ドキュメント以外のPR |
check | TypeScript型、lint、フォーマット | mainへのプッシュ、またはNode関連の変更があるPR |
check-docs | Markdown lintと壊れたリンクチェック | ドキュメントが変更された場合 |
code-analysis | LOC閾値チェック(1000行) | PRのみ |
secrets | 漏洩したシークレットを検出 | 常時 |
build-artifacts | distを一度ビルドし、他のジョブと共有 | ドキュメント以外、node変更 |
release-check | npm packの内容を検証 | ビルド後 |
checks | Node/Bunテスト + プロトコルチェック | ドキュメント以外、node変更 |
checks-windows | Windows固有のテスト | ドキュメント以外、windows関連の変更 |
macos | Swift lint/build/test + TSテスト | macos変更があるPR |
android | Gradleビルド + テスト | ドキュメント以外、android変更 |
Fail-Fast順序
ジョブは、高コストなジョブが実行される前に低コストなチェックが失敗するように順序付けられています:docs-scope+code-analysis+check(並列、約1-2分)build-artifacts(上記に依存)checks、checks-windows、macos、android(ビルドに依存)
scripts/ci-changed-scope.mjsにあり、src/scripts/ci-changed-scope.test.tsのユニットテストでカバーされています。
ランナー
| ランナー | ジョブ |
|---|---|
blacksmith-16vcpu-ubuntu-2404 | スコープ検出を含むほとんどのLinuxジョブ |
blacksmith-32vcpu-windows-2025 | checks-windows |
macos-latest | macos、ios |