openpencil/.github/workflows
Kayshen-X c75eba9964 ci(shell-native): add LINUX_GPU_DEFERRED_NO_RUNNER for hosted Linux runner
GH-hosted ubuntu-latest cannot run window-bound GL tests:
- bare `xvfb-run cargo test` fails with `GLXBadWindow`: Xvfb's GLX
  visuals lack `GLX_WINDOW_BIT`, so `glXCreateWindow` returns BadWindow.
- `xvfb-run -s "+extension GLX +render -noreset"` + `LIBGL_ALWAYS_SOFTWARE=1
  GALLIUM_DRIVER=llvmpipe MESA_GL_VERSION_OVERRIDE=4.5` produced the same
  GLXBadWindow error (run 25358253410): xvfb's GLX implementation does
  not support `GLX_WINDOW_BIT` regardless of the software-rasterizer.

This is a known constraint across the Rust gfx ecosystem — bevy,
rust-skia and iced CI all skip window-bound GL tests on hosted Linux
runners and verify only `cargo build / test / clippy` link-time
correctness. The dep-stack probe's link half (skia-safe + glutin +
glow + winit) is already proven by the Linux `cargo build / test
/ clippy --all-targets` steps that pass before this gate.

Mirror the existing `WINDOWS_GPU_DEFERRED_NO_RUNNER` deferral pattern
(spec §8.2):
- probe test body early-returns with `LINUX_GPU_DEFERRED_NO_RUNNER`
  when the env var is set; CI step exports it.
- locally on a real Linux desktop the env var is unset, so the full
  cross-API state + readback verifications still run.

macOS retains the full window+GL path (CI + local), which alone
covers spec §7.2(2) "cross-API GL state visibility" and §6.2(c)
"full readback chain" — the only verifications that exercise live
GPU semantics. Windows + Linux on hosted runners verify the
toolchain links and the probe code compiles, which is what the
spec requires for those targets.
2026-05-05 12:23:08 +08:00
..
build-electron.yml fix(ci): always source-build agent-native and bundle to napi/ root 2026-04-26 19:20:48 +08:00
ci.yml V0.7.1 (#103) 2026-04-13 21:40:40 +08:00
docker.yml V0.7.0 (#95) 2026-04-11 23:25:13 +08:00
publish-cli.yml fix(ci): always source-build agent-native and bundle to napi/ root 2026-04-26 19:20:48 +08:00
rust-check.yml ci(shell-native): add LINUX_GPU_DEFERRED_NO_RUNNER for hosted Linux runner 2026-05-05 12:23:08 +08:00
wasm-bundle-check.yml chore(workspace): bump CI yaml + README toolchain refs 1.82 → 1.85 2026-05-03 23:50:00 +08:00