From eeb6127617ef06468482b86cf77e75cb84158700 Mon Sep 17 00:00:00 2001 From: NimBold Date: Tue, 13 Oct 2026 13:45:25 +0330 Subject: [PATCH] fix(ci): embed manifest in Windows integration tests - Embed Common Controls v6 in integration-test binaries using Tauri's mock runtime. - Keep the packaged app manifest owned by tauri-build. - Refs #44 --- src-tauri/build.rs | 17 ++++++++++++++++- src-tauri/tests/comctl-v6.xml | 14 ++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 src-tauri/tests/comctl-v6.xml diff --git a/src-tauri/build.rs b/src-tauri/build.rs index d860e1e..6b1d7a1 100644 --- a/src-tauri/build.rs +++ b/src-tauri/build.rs @@ -1,3 +1,18 @@ fn main() { - tauri_build::build() + tauri_build::build(); + + #[cfg(target_os = "windows")] + embed_manifest_for_integration_tests(); +} + +#[cfg(target_os = "windows")] +fn embed_manifest_for_integration_tests() { + let manifest = std::path::Path::new(&std::env::var("CARGO_MANIFEST_DIR").unwrap()) + .join("tests/comctl-v6.xml"); + println!("cargo:rerun-if-changed={}", manifest.display()); + println!("cargo:rustc-link-arg-tests=/MANIFEST:EMBED"); + println!( + "cargo:rustc-link-arg-tests=/MANIFESTINPUT:{}", + manifest.display() + ); } diff --git a/src-tauri/tests/comctl-v6.xml b/src-tauri/tests/comctl-v6.xml new file mode 100644 index 0000000..123fcc8 --- /dev/null +++ b/src-tauri/tests/comctl-v6.xml @@ -0,0 +1,14 @@ + + + + + + + +