Keep real staged compile errors navigable under warning floods
Native and manual checks / native (ubuntu-24.04) (push) Failing after 30s
Native and manual checks / manual (push) Successful in 28s
Windows editor and software Vulkan / windows-graphics (push) Canceled after 0s
Native and manual checks / native (windows-2025) (push) Canceled after 0s
Native and manual checks / native (ubuntu-24.04) (push) Failing after 30s
Native and manual checks / manual (push) Successful in 28s
Windows editor and software Vulkan / windows-graphics (push) Canceled after 0s
Native and manual checks / native (windows-2025) (push) Canceled after 0s
This commit is contained in:
@@ -345,6 +345,13 @@ int integration(const fs::path& root) {
|
||||
source + "\n#error intentional_build_failure\n");
|
||||
auto failed = service.wait(service.start_build());
|
||||
require(failed.state == "failed", "Invalid user C++ must fail build");
|
||||
bool navigable_cpp_error = false;
|
||||
for (const auto& diagnostic : failed.diagnostics)
|
||||
navigable_cpp_error |= diagnostic.value("severity", "") == "error" &&
|
||||
diagnostic.value("file", "") == "Scripts/Gameplay.cpp" &&
|
||||
diagnostic.value("line", 0) > 0;
|
||||
require(navigable_cpp_error,
|
||||
"Real staged C++ compile failure maps to a navigable project source");
|
||||
require(read_text(config.cache_root / "last_build.json") == last,
|
||||
"Failed compile preserved last good build");
|
||||
atomic_write(config.project_root / "Scripts" / "Gameplay.cpp", source);
|
||||
|
||||
Reference in New Issue
Block a user