From 4ac02ee44ad0dff50486a3fa207818513b6837f0 Mon Sep 17 00:00:00 2001 From: Emil <65846814+emil28092005@users.noreply.github.com> Date: Thu, 24 Sep 2026 03:13:27 +0300 Subject: [PATCH] Keep Windows export integration outside engine checkout --- .github/workflows/windows-graphics.yml | 8 ++++---- tests/build_cache_tests.cpp | 11 +++++++++++ 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/.github/workflows/windows-graphics.yml b/.github/workflows/windows-graphics.yml index 05c1381..970135f 100644 --- a/.github/workflows/windows-graphics.yml +++ b/.github/workflows/windows-graphics.yml @@ -71,7 +71,7 @@ jobs: VK_LOADER_DEBUG: error,warn,driver run: ctest --preset windows-debug --timeout 180 - name: Real Release exports, 2D and 3D execution, incremental Debug rebuild - run: build/windows-debug/faset_build_service_tests.exe --integration .cache/windows-export-e2e + run: build/windows-debug/faset_build_service_tests.exe --integration "${{ runner.temp }}/faset-windows-export-e2e" - name: Export and relocate C++ and Lua playable games run: python tools/verify_playable_exports.py --editor build/windows-debug/faset_editor.exe --output .cache/windows-playable-exports --include-lua - name: Preserve graphics and export evidence @@ -89,8 +89,8 @@ jobs: .cache/windows-graphics/sdk/source-identity.json build/windows-debug/Testing/Temporary/LastTest.log build/windows-debug/*test.ppm - .cache/windows-export-e2e/result-*.json - .cache/windows-export-e2e/export-*/generations/*/manifest.json - .cache/windows-export-e2e/export-*/generations/*/verification.ppm + ${{ runner.temp }}/faset-windows-export-e2e/result-*.json + ${{ runner.temp }}/faset-windows-export-e2e/export-*/generations/*/manifest.json + ${{ runner.temp }}/faset-windows-export-e2e/export-*/generations/*/verification.ppm .cache/windows-playable-exports/report.json .cache/windows-playable-exports/evidence/* diff --git a/tests/build_cache_tests.cpp b/tests/build_cache_tests.cpp index ae97bd7..406edb3 100644 --- a/tests/build_cache_tests.cpp +++ b/tests/build_cache_tests.cpp @@ -82,6 +82,17 @@ void run(const fs::path& root) { } check(refused_unowned && fs::is_regular_file(user_directory / "do-not-delete.txt"), "Unowned native directory is never cleared"); + auto engine_nested = config; + engine_nested.build_directory = engine_nested.engine_root / ".cache/unsafe-test-native-build"; + bool refused_engine_overlap{}; + try { + editor::ensure_native_toolchain_stamp( + engine_nested, engine_nested.build_directory / "Debug", changed_tool); + } catch (const std::exception&) { + refused_engine_overlap = true; + } + check(refused_engine_overlap && !fs::exists(engine_nested.build_directory), + "Integration fixture native builds cannot overlap the engine checkout"); std::error_code native_link_error; fs::create_directory_symlink(user_directory, config.build_directory / "Release", native_link_error);