-
Notifications
You must be signed in to change notification settings - Fork 378
Description
Problem Description
slangpy test jobs currently run on Windows and macOS but are skipped on Linux CI builds because Linux test configurations don't enable full-gpu-tests. This includes:
test-slangpy- slangpy API teststest-slang-rhi- slang-rhi (Rendering Hardware Interface) teststest-slangpy-examples- slangpy-samples integration tests (added in Enable testing of slangpy examples #8186)
All three jobs exist in the workflow but don't run on Linux, meaning we're missing validation of these components on Linux.
Current Status
All three test jobs share the same status across platforms:
- Windows (debug + release): runs with GPU
- macOS (release): runs with GPU
- Linux (debug + release): skipped
Note: test-slang-rhi on Windows also includes OptiX tests.
Proposed Solution
Enable these test jobs on Linux. Since GitHub-hosted Ubuntu runners don't have GPU support, we should:
- Add flags to enable tests independently of GPU (e.g.,
enable-slangpy-tests,enable-slang-rhi-tests,enable-slangpy-examples) - Enable appropriate flags for Linux release builds in
.github/workflows/ci.yml - Create expected failure lists for GPU-dependent tests that won't work on CPU-only systems:
tests/expected-slangpy-failure-no-gpu.txttests/expected-slang-rhi-failure-no-gpu.txttests/expected-slangpy-examples-failure-no-gpu.txt
- Update test runners to handle expected failures gracefully
This allows us to test CPU-compatible functionality on Linux immediately, while maintaining the option to add GPU-enabled Linux runners in the future for full test coverage.
Alternative Solutions
If GPU-capable self-hosted Linux runners are available, we could simply set full-gpu-tests: true for Linux builds to enable full testing like Windows/macOS. This would provide:
- Full slang-rhi test coverage (including rendering tests)
- OptiX tests on Linux (currently Windows-only)
- Complete slangpy and slangpy-examples coverage without expected failures
Additional Context
- Enable testing of slangpy examples #8186 - Issue for enabling slangpy-examples testing