@@ -117,6 +117,7 @@ permissions:
117117
118118env :
119119 CARGO_TERM_COLOR : always
120+ RUST_BACKTRACE : full
120121 # Disable Cargo incremental artifacts. The Rust FFI is built once per
121122 # submodule SHA and cached whole (see the cargo target cache below), so
122123 # incremental dirs add nothing but bloat the cached target/ directory and
@@ -220,7 +221,7 @@ jobs:
220221 libabsl-dev \
221222 libcurl4-openssl-dev \
222223 libwayland-dev libdecor-0-dev \
223- jq
224+ gdb jq
224225
225226 - name : Install deps (macOS)
226227 if : runner.os == 'macOS'
@@ -285,6 +286,16 @@ jobs:
285286 LLVM_VERSION=$(llvm-config --version | cut -d. -f1)
286287 echo "LIBCLANG_PATH=/usr/lib/llvm-${LLVM_VERSION}/lib" >> "$GITHUB_ENV"
287288
289+ - name : Configure Unix crash diagnostics
290+ if : runner.os != 'Windows'
291+ shell : bash
292+ run : |
293+ echo "LIVEKIT_CRASH_DIAGNOSTICS=1" >> "$GITHUB_ENV"
294+ if [[ "$RUNNER_OS" == "Linux" ]]; then
295+ echo "LIVEKIT_CORE_DIR=${RUNNER_TEMP}" >> "$GITHUB_ENV"
296+ sudo sysctl -w "kernel.core_pattern=${RUNNER_TEMP}/livekit-core.%p"
297+ fi
298+
288299 # ---------- Build (tests on, examples off) ----------
289300 - name : Build tests (Unix)
290301 if : runner.os != 'Windows'
@@ -309,7 +320,8 @@ jobs:
309320 timeout-minutes : ${{ inputs.unit_timeout_minutes }}
310321 shell : bash
311322 run : |
312- ${{ env.BUILD_DIR }}/bin/livekit_unit_tests \
323+ bash scripts/run-with-backtrace.sh \
324+ ${{ env.BUILD_DIR }}/bin/livekit_unit_tests \
313325 --gtest_repeat=${{ inputs.unit_repeat }} \
314326 --gtest_brief=1 \
315327 --gtest_output=xml:${{ env.BUILD_DIR }}/unit-test-results.xml
@@ -383,7 +395,8 @@ jobs:
383395 set -euo pipefail
384396 source .token_helpers/set_data_track_test_tokens.bash
385397 # TODO(BOT-477) Temporarily disable platform audio integration tests in CI until instability is resolved
386- ${{ env.BUILD_DIR }}/bin/livekit_integration_tests \
398+ bash scripts/run-with-backtrace.sh \
399+ ${{ env.BUILD_DIR }}/bin/livekit_integration_tests \
387400 --gtest_filter='-PlatformAudioIntegrationTest.*' \
388401 --gtest_repeat=${{ inputs.integration_repeat }} \
389402 --gtest_recreate_environments_when_repeating=1 \
@@ -398,7 +411,8 @@ jobs:
398411 run : |
399412 set -euo pipefail
400413 source .token_helpers/set_data_track_test_tokens.bash
401- ${{ env.BUILD_DIR }}/bin/livekit_stress_tests \
414+ bash scripts/run-with-backtrace.sh \
415+ ${{ env.BUILD_DIR }}/bin/livekit_stress_tests \
402416 --gtest_repeat=${{ inputs.stress_repeat }} \
403417 --gtest_recreate_environments_when_repeating=1 \
404418 --gtest_output=xml:${{ env.BUILD_DIR }}/stress-test-results.xml
0 commit comments