Skip to content

Run WebGPU browser tests in CI - #706

Draft
ibgreen wants to merge 3 commits into
masterfrom
codex/webgpu-ci
Draft

Run WebGPU browser tests in CI#706
ibgreen wants to merge 3 commits into
masterfrom
codex/webgpu-ci

Conversation

@ibgreen

@ibgreen ibgreen commented Jul 30, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • enable Chromium's software WebGPU adapter for the headless browser job
  • preserve the GitHub Actions Chrome channel while applying software-renderer flags
  • explicitly select Dawn's SwiftShader WebGPU adapter and initialize the matching GPU path
  • serialize browser files only in software-WebGPU mode
  • avoid explicitly destroying shared Linux SwiftShader WebGPU devices between browser files; WebGL devices are still destroyed explicitly
  • give the broad portable-layer rendering cases additional timeout headroom
  • document WebGPU CI coverage in docs/whats-new.md

This draft is intentionally independent of #705 and targets master directly. The WebGPU layer-port PR does not depend on this branch and can land separately.

Current status

Local software-WebGPU validation passes, but GitHub's Ubuntu runner still fails the headless job: the first native WebGPU rendering file loses Dawn's external instance, followed by six failures across five WebGPU browser files.

OperationError: A valid external Instance reference no longer exists.

The failure persists with browser files serialized, explicit WebGPU-device teardown removed, and Chromium's documented --use-webgpu-adapter=swiftshader / --use-gpu-in-tests configuration. This draft therefore remains an isolated CI investigation; it is not ready to land and does not block #705.

Chromium reference: webgpu-swiftshader flag configuration.

Likely next steps are to capture chrome://gpu and adapter diagnostics on the runner, then determine whether the hosted Chrome/Dawn build needs a different Linux image, Vulkan setup, or dedicated GPU-capable runner.

Validation

  • yarn lint
  • yarn test: 168 files passed; 1,420 tests passed, 9 skipped
  • local GITHUB_ACTIONS=true DECK_GL_COMMUNITY_SOFTWARE_WEBGPU=true yarn test-headless: 56 files passed; 438 tests passed, 0 skipped
  • GitHub Actions test-headless: 432 passed, 6 failed across five WebGPU files

@github-actions

github-actions Bot commented Jul 30, 2026

Copy link
Copy Markdown

Coverage

Stmts: 51.01% ▼-0.01% | Branch: 42.11% | Funcs: 49.15% | Lines: 51.12% ▼-0.01%

Test Files 168 passed (168)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant