Skip to content

fix(ci): add missing libudev-dev to docs, skip GPU smoke in CI - #666

Merged
aram-devdocs merged 1 commit into
mainfrom
fix/ci-docs-failures
Apr 3, 2026
Merged

fix(ci): add missing libudev-dev to docs, skip GPU smoke in CI#666
aram-devdocs merged 1 commit into
mainfrom
fix/ci-docs-failures

Conversation

@aram-devdocs

Copy link
Copy Markdown
Owner

Summary

  • Deploy Docs failed on every push to main because docs.yml was missing libudev-dev (and libxkbcommon-x11-dev) from its system dependencies — the libudev-sys crate panicked at build time
  • CI failed because native_main_thread GPU smoke test runs on macOS/Windows CI runners that lack a real GPU — now skipped when CI=true

Test plan

  • Verify Deploy Docs workflow passes after merge
  • Verify CI rust-check job passes on all platforms (Ubuntu/macOS/Windows)
  • Confirm native_main_thread test still runs locally with a real display (cargo test -p goud-engine-core --test native_main_thread)

🤖 Generated with Claude Code

…t in CI

Deploy Docs failed on every push to main because docs.yml was missing
libudev-dev (and libxkbcommon-x11-dev) from its apt-get install line.
CI workflow failed because native_main_thread GPU smoke test cannot run
in headless CI environments on macOS/Windows.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@claude

claude Bot commented Apr 3, 2026

Copy link
Copy Markdown
Contributor

Claude finished @aram-devdocs's task in 36s —— View job


PR Review: fix(ci): add missing libudev-dev to docs, skip GPU smoke in CI

  • Gather context and read changed files
  • Architecture & layer validation
  • Anti-pattern scan
  • Quality assessment
  • Security review (N/A — no FFI/unsafe changes)
  • Scope verification
  • Post final verdict

Verdict: ✅ APPROVED

This is a clean, minimal CI infrastructure fix. No blockers, no warnings.


Phase 1–2: Context & Architecture

Both changed files are CI/test infrastructure only. No engine layers, FFI, or SDK code is touched — architecture validation is not applicable.


Phase 3–4: Anti-Pattern & Quality Assessment

.github/workflows/docs.yml — line 26

The fix adds libudev-dev and libxkbcommon-x11-dev to the apt-get install line. This is the correct and minimal fix. The packages are needed by libudev-sys (a transitive dependency of the wgpu/winit stack) and libxkbcommon (required by Wayland-aware windowing on Linux). No issues.

goud_engine/tests/native_main_thread.rs — lines 10–12

fn should_skip_native_smoke() -> bool {
    if std::env::var_os("CI").is_some() {
        return true;
    }
    // ...
}

The early-return on CI=true is inserted before the existing Linux headless check, which is the correct ordering. The test body (sdk_default_native_smoke) is untouched. The skip message at line 127 ("skipping native main-thread smoke: no display available") is still emitted to stderr, making CI logs easy to scan.

One minor observation (non-blocking): the skip message says "no display available" even when the actual skip reason is CI=true. A future improvement could differentiate, but this is cosmetic.


Phase 6: Scope Verification

  • Changes match the PR description exactly.
  • No unrelated code was touched.
  • No version bump needed for CI/test-only changes.

Positive Callouts

  • The should_skip_native_smoke helper keeps the skip logic centralized and readable — adding the CI check here rather than wrapping the entire test body is the right pattern.
  • libxkbcommon-x11-dev is included alongside libudev-dev rather than waiting for the next failure — proactive dependency management.
  • Commit message is clear and traceable to the root cause.

BLOCKERS None
WARNINGS None

@aram-devdocs
aram-devdocs merged commit b65a510 into main Apr 3, 2026
48 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant