From c10fa7411510a73a2948d045a3c9d263ef8492f6 Mon Sep 17 00:00:00 2001 From: wsp Date: Thu, 6 Aug 2026 17:26:23 +0800 Subject: [PATCH] fix(installer): align AI config and add CI compilation check - Remove deprecated reasoning fields from the installer AIConfig mapping. - Add a Windows CI compilation check for the standalone installer crate. - Extend GitHub workflow contract tests to enforce the installer check. --- .github/workflows/ci.yml | 6 ++++++ BitFun-Installer/src-tauri/src/installer/ai_config.rs | 5 +---- scripts/check-github-config.test.mjs | 8 ++++++++ 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 028bbca96f..7f5f466aa3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -198,6 +198,12 @@ jobs: - name: Check compilation run: cargo check --locked --workspace + # The installer is intentionally excluded from the root Cargo workspace, + # so the workspace check above cannot catch drift in its shared Rust APIs. + - name: Check installer compilation + if: runner.os == 'Windows' + run: cargo check --manifest-path BitFun-Installer/src-tauri/Cargo.toml + - name: Run core and desktop library tests run: cargo test --locked -p bitfun-core -p bitfun-desktop --lib diff --git a/BitFun-Installer/src-tauri/src/installer/ai_config.rs b/BitFun-Installer/src-tauri/src/installer/ai_config.rs index 675ff83f9f..70e59feec5 100644 --- a/BitFun-Installer/src-tauri/src/installer/ai_config.rs +++ b/BitFun-Installer/src-tauri/src/installer/ai_config.rs @@ -1,7 +1,7 @@ //! Map installer `ModelConfig` to shared AI adapter config. use crate::installer::types::ModelConfig; -use bitfun_ai_adapters::types::{resolve_request_url, AIConfig, ReasoningMode}; +use bitfun_ai_adapters::types::{resolve_request_url, AIConfig}; use log::warn; /// Build `AIConfig` for the shared AI client. @@ -47,13 +47,10 @@ pub(super) fn ai_config_from_installer_model(m: &ModelConfig) -> Result commandByStep.get('Run subscription authentication tests'), 'cargo test --locked -p bitfun-ai-adapters --features subscription-auth --lib subscription_auth', ); + const installerCheck = rustJob.steps.find( + (step) => step.name === 'Check installer compilation', + ); + assert.equal(installerCheck?.if, "runner.os == 'Windows'"); + assert.equal( + installerCheck?.run, + 'cargo check --manifest-path BitFun-Installer/src-tauri/Cargo.toml', + ); assert.equal( commandByStep.get('Run file watch contract tests'), 'cargo test --locked -p bitfun-services-integrations --no-default-features --features file-watch --test file_watch_contracts',