ci: clear hook-injected MSVC env in-step; gdb backtrace for the Linux segfault

- the warp runner's job hook re-exports MSVC INCLUDE/LIB per step, so
  the GITHUB_ENV clear did not stick — unset in the Build/Test steps
  themselves
- node_e2e_test segfaults only on the Linux runner; rerun the binary
  under gdb on failure to capture the native stack
This commit is contained in:
2026-08-21 06:38:11 +08:00
parent f6e7bf20a4
commit ed7389ea95
2 changed files with 24 additions and 3 deletions
+5 -1
View File
@@ -372,7 +372,11 @@ jobs:
rsvg-convert -w 512 -h 512 Oak_Icon.svg -o icons/icon.png
- name: Build (release)
run: cargo build --release --locked
run: |
# Clear the job-hook-injected MSVC INCLUDE/LIB before the GNU
# build (they poison the MinGW compiles with MSVC SDK headers).
unset INCLUDE LIB
cargo build --release --locked
- name: Package (NSIS)
run: cargo packager --release --formats nsis
+19 -2
View File
@@ -181,7 +181,12 @@ jobs:
- name: Build (Windows)
if: runner.os == 'Windows'
shell: msys2 {0}
run: cargo build --workspace --locked
run: |
# The runner's job hook injects the MSVC INCLUDE/LIB into every
# step; clear them in-step (they poison the MinGW compiles with
# MSVC SDK headers).
unset INCLUDE LIB
cargo build --workspace --locked
# xvfb + 24-bit screen: the gpui #[gpui::test] tests open real windows
# and render through wgpu on Mesa's software Vulkan (lavapipe).
@@ -189,6 +194,16 @@ jobs:
if: runner.os == 'Linux'
run: xvfb-run -a -s "-screen 0 1920x1080x24" cargo test --workspace --locked
# A crashing (SIGSEGV) test gives no Rust backtrace; rerun the
# crashing binary under gdb to capture the native stack.
- name: Backtrace on test failure (Linux)
if: failure()
run: |
sudo apt-get install -y gdb
BIN=$(ls -t target/debug/deps/node_e2e_test-* | grep -v '\.d$' | head -1)
xvfb-run -a gdb -batch -ex run -ex bt -- "$BIN" \
plugin_renders_constant_frame_end_to_end --exact --nocapture
- name: Test (macOS)
if: runner.os == 'macOS'
run: cargo test --workspace --locked
@@ -196,7 +211,9 @@ jobs:
- name: Test (Windows)
if: runner.os == 'Windows'
shell: msys2 {0}
run: cargo test --workspace --locked
run: |
unset INCLUDE LIB
cargo test --workspace --locked
# ------------------------------------------------------------------
# OFX plugin discovery end-to-end