Skip to content

ci(cua-driver): consolidate Linux Nix validation (conv2 6/7) - #2184

Merged
f-trycua merged 1 commit into
mainfrom
codex/conv2-06-nix
Jul 13, 2026
Merged

ci(cua-driver): consolidate Linux Nix validation (conv2 6/7)#2184
f-trycua merged 1 commit into
mainfrom
codex/conv2-06-nix

Conversation

@f-trycua

@f-trycua f-trycua commented Jul 12, 2026

Copy link
Copy Markdown
Collaborator

Summary

Sixth convergence landing PR extracted from #2161, based on the merged Linux X11/Wayland platform contract in #2182.

  • makes Nix the reproducible Linux source/package gate and the provider for the optional nested cua-compositor session
  • removes legacy Nix VM/GIF/screenshot workflows and bespoke scenario files that duplicated obsolete driver behavior instead of the canonical typed Rust harnesses
  • exposes focused flake checks for the driver package, compositor build, and Rust unit tests
  • wires the nested compositor into the same typed shared/native/capture catalogs used by X11 and Sway
  • keeps stock Sway capabilities separate from the optional compositor-owned injection environment
  • stops the distro workflow from rebuilding work already owned by the Nix source gate

This PR does not change the accepted X11 or stock-Sway behavior landed in #2182. User-facing support and roadmap docs remain in the final documentation PR. The extraction plan is documented on the frozen source branch.

Why the old Nix tests are removed

The retired files were parallel, bespoke GUI scenarios with their own assertions and GIF-oriented output. They no longer represented the source-of-truth Rust action matrix. Keeping them produced noise and conflicting support claims.

The replacement does not weaken the supported release gate:

  • package, compositor, and Rust source checks remain reproducible Nix builds
  • desktop behavior is exercised by the canonical typed Rust catalogs
  • every behavioral row carries explicit targeting, delivery, scope, route, expected outcome, external oracles, trajectory data, and MP4 evidence
  • the nested compositor is labeled experimental; its failures remain product/evidence diagnostics and never become stock-Wayland support claims

Validation

Exact source: 49e8a4cde27f0b185936f62e4a72babd9be222ec

  • Nix source/package run 29213921494 passed all three exact-head checks: compositor build, driver package, and Rust unit tests
  • every normal PR check is green, including the same three Nix checks, Linux unit/compile, and the six-distro compatibility matrix
  • nested compositor diagnostic run 29213925639 ran the complete typed catalogs on the exact head:
    • capture/scope passed 5/5 with strict reporting
    • native GTK behavior passed 31/31, but the lane correctly stayed red because strict reporting found missing before/after accessibility-state evidence on background turns
    • shared Electron passed 17/36 behavioral rows and failed 19/36; the failures preserve unchanged fixture state, sentinel-activation timeouts, and missing required oracles instead of being reclassified
  • these nested results keep cua-compositor experimental and identify its remaining renderer/evidence work; they do not weaken or alter the accepted X11/Sway contracts
  • git diff --check passes

Source: #2161.

@f-trycua
f-trycua marked this pull request as ready for review July 13, 2026 00:03
@f-trycua
f-trycua merged commit 5abbd80 into main Jul 13, 2026
18 of 20 checks passed
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