コントリビューティング
CI パイプライン
CI は main へのすべてのプッシュとすべてのプルリクエストで実行されます。ドキュメントやネイティブコードのみが変更された場合、高コストなジョブをスキップするスマートスコーピングを使用します。
ジョブ概要
| ジョブ | 目的 | 実行条件 |
|---|---|---|
docs-scope | ドキュメントのみの変更を検出 | 常時 |
changed-scope | どの領域が変更されたか検出 (node/macos/android/windows) | ドキュメント以外のPR |
check | TypeScript 型チェック、リント、フォーマット | main へのプッシュ、または Node 関連の変更を含むPR |
check-docs | Markdown リント + 壊れたリンクチェック | ドキュメントが変更された場合 |
code-analysis | LOC 閾値チェック (1000行) | PRのみ |
secrets | 漏洩したシークレットを検出 | 常時 |
build-artifacts | dist を一度ビルドし、他のジョブと共有 | ドキュメント以外、Node 変更あり |
release-check | npm pack 内容の検証 | ビルド後 |
checks | Node/Bun テスト + プロトコルチェック | ドキュメント以外、Node 変更あり |
checks-windows | Windows 固有のテスト | ドキュメント以外、Windows 関連の変更あり |
macos | Swift リント/ビルド/テスト + TS テスト | macOS 変更を含むPR |
android | Gradle ビルド + テスト | ドキュメント以外、Android 変更あり |