Keep Windows export integration outside engine checkout

This commit is contained in:
Emil
2026-09-24 03:38:24 +03:00
parent f5b96fb93f
commit a2ccc269ff
2 changed files with 15 additions and 4 deletions
+4 -4
View File
@@ -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/*
+11
View File
@@ -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);