Problem
The exact Linux Runtime package gate can build and enter the full V8 test suite, but when a native test crashes the container wrapper does not execute its intended second ctest/GDB diagnostic pass.
Run 35510426945 (job 106077299067) exposed 35 full-V8 failures, including a common startup/teardown SIGSEGV. scripts/build-native-engine-runtime-linux-container.sh checks ICU under a hard-coded repository artifact path even when the workflow supplies --v8-root from the runner cache. The check is false, so the diagnostic block is skipped and CI retains no backtrace or failed binary.
Fix
- parse and honor the existing
--v8-root argument in the Linux container wrapper;
- retain the existing build-directory variant resolution;
- on native test failure, rerun the first failing engine binary under batch GDB and print all thread backtraces;
- keep package/test exit status authoritative;
- add a shell/source contract proving a supplied external V8 root controls the ICU lookup.
Acceptance
A deliberately crashing native test on the Ubuntu 22.04 container emits a symbolized batch GDB backtrace and the job still fails. Successful builds remain unchanged and no large failure artifact is retained.
Problem
The exact Linux Runtime package gate can build and enter the full V8 test suite, but when a native test crashes the container wrapper does not execute its intended second
ctest/GDB diagnostic pass.Run 35510426945 (job 106077299067) exposed 35 full-V8 failures, including a common startup/teardown SIGSEGV.
scripts/build-native-engine-runtime-linux-container.shchecks ICU under a hard-coded repository artifact path even when the workflow supplies--v8-rootfrom the runner cache. The check is false, so the diagnostic block is skipped and CI retains no backtrace or failed binary.Fix
--v8-rootargument in the Linux container wrapper;Acceptance
A deliberately crashing native test on the Ubuntu 22.04 container emits a symbolized batch GDB backtrace and the job still fails. Successful builds remain unchanged and no large failure artifact is retained.