You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
npm run build(tsc && vite build)も CI では実行されていない。フロントエンドの型エラーが CI を素通りする。
実測で確定(2026-08-21)
node 側 3 ステップ(npm run build / sidecar:check / sidecar:test)は CI で pass する。
cargo test --lib --target x86_64-pc-windows-gnu は CI 環境でもテストバイナリが STATUS_ENTRYPOINT_NOT_FOUND(0xc0000139)で起動しない。 コンパイルは成功する。ローカル環境固有ではないことが確定した(CI run 32431917979)。
原因は、この crate の test バイナリが tauri 依存ツリー全体をリンクすることによる GNU ターゲット上の DLL エクスポート不一致と見られる。特定の依存クレートまでは切り分けていない。
採る対処(Master 合意済み、2026-08-21)
.mcp.json のマージ登録ロジックを tauri に依存しない別 crate へ切り出し、そこを cargo test の対象とする。
選択肢として MSVC ターゲットでのテスト実行と cargo test の CI 対象外化も検討したが、前者は依存ツリーの二重ビルドで CI 時間がほぼ倍になるうえアプリが出荷しないターゲットで検証することになり、後者は .mcp.json 書き換えという最も保険が要る箇所を無検証のまま残す。切り出しはテストを通すための細工ではなく、.mcp.json をマージするロジックが tauri を必要としていた依存の誤りを正す変更である。
制約
切り出す対象は純粋ロジックに限る。tauri の State / AppHandle に触れる部分は src-tauri/src/ に残す。
目的
CI が
npm ciとcargo checkしか実行していないため、追加された自動テストと型検査が一度も CI で走っていない。これらを CI に載せる。前提
.github/workflows/ci.ymlのcheckjob はnpm ci→cargo check --target x86_64-pc-windows-gnuのみ。npm run sidecar:test— サイドカーの往復ハーネスnpm run sidecar:check— サイドカーの型検査src-tauri/src/session.rsの#[cfg(test)]テスト 3 本(.mcp.jsonのマージ保全)npm run build(tsc && vite build)も CI では実行されていない。フロントエンドの型エラーが CI を素通りする。実測で確定(2026-08-21)
npm run build/sidecar:check/sidecar:test)は CI で pass する。cargo test --lib --target x86_64-pc-windows-gnuは CI 環境でもテストバイナリがSTATUS_ENTRYPOINT_NOT_FOUND(0xc0000139)で起動しない。 コンパイルは成功する。ローカル環境固有ではないことが確定した(CI run 32431917979)。採る対処(Master 合意済み、2026-08-21)
.mcp.jsonのマージ登録ロジックを tauri に依存しない別 crate へ切り出し、そこをcargo testの対象とする。選択肢として MSVC ターゲットでのテスト実行と
cargo testの CI 対象外化も検討したが、前者は依存ツリーの二重ビルドで CI 時間がほぼ倍になるうえアプリが出荷しないターゲットで検証することになり、後者は.mcp.json書き換えという最も保険が要る箇所を無検証のまま残す。切り出しはテストを通すための細工ではなく、.mcp.jsonをマージするロジックが tauri を必要としていた依存の誤りを正す変更である。制約
State/AppHandleに触れる部分はsrc-tauri/src/に残す。src-tauri/の外に置く。src-tauri/配下に置くとパッケージが入れ子になるため。既存のportable-pty-patch/と同じ並びとする。対象ファイル
.github/workflows/ci.ymlcrates/mcp-config/(新規)src-tauri/src/session.rs— 切り出し後の呼び出しへ変更src-tauri/src/room.rs—SERVER_NAMEの移動に伴う参照変更src-tauri/Cargo.toml— 新 crate への path 依存README.md— 主な構成の更新完了条件
npm run build、npm run sidecar:check、npm run sidecar:test、cargo testが CI で実行され、pass する。.mcp.jsonマージ保全のテストのアサーションが実際に実行されている。cargo testが元の crate で実行不能だった理由と、採った対処が記録されている。