Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .github/workflows/nix-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,17 @@ jobs:
visual: true
result_link: result-linux-background-terminal-gif
artifact_name: cua-driver-linux-background-terminal-gif
- name: Linux parallel multi-cursor drag test
check_attr: cua-driver-linux-parallel-drag-xserver
timeout_minutes: 20
visual: true
result_link: result-linux-parallel-drag-xserver
artifact_name: cua-driver-linux-parallel-drag-xserver
# NOTE: the older "parallel multi-cursor drag GIF" scenario
# (linux-parallel-drag-gif.nix) is intentionally not in this matrix —
# it hand-launches Xorg, which can't get a VT/seat in the emulated
# nixos-test VM. The services.xserver entry above supersedes it; the
# old scenario file is kept for local/real-X runs.
# Full entries (CDP / Tk focus-free-write overrides) — kept as-is.
- name: Linux background GUI test (chromium)
check_attr: cua-driver-linux-background-gui-chromium
Expand Down Expand Up @@ -278,6 +289,7 @@ jobs:
const artifactNames = [
'cua-driver-linux-cursor-click-gif',
'cua-driver-linux-background-terminal-gif',
'cua-driver-linux-parallel-drag-xserver',
'cua-driver-linux-background-gui-chromium',
'cua-driver-linux-background-gui-tk',
'cua-driver-linux-background-gui-gtk3-gedit',
Expand Down
23 changes: 23 additions & 0 deletions flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,29 @@
services.cua-driver.package = cuaDriverPackage;
};
};

# Multi-cursor (MPX) parallel-drag test on a REAL Xorg brought up
# by NixOS services.xserver (dummy video + libinput, on a seat via
# a display manager). This is the CI-viable replacement for the
# hand-launched-Xorg linux-parallel-drag-gif.nix (which timed out
# because a self-launched Xorg couldn't get a VT/seat in the
# emulated nixos-test VM). Proves uinput slaves enumerate as X
# devices, two cursors draw concurrent window-targeted events, and
# the shield grab keeps focus off the drag.
cua-driver-linux-parallel-drag-xserver = import ./nix/cua-driver/tests/linux-parallel-drag-xserver.nix {
inherit pkgs;
inherit (pkgs) lib;
cuaDriverModule = {
imports = [ ./nix/cua-driver/module.nix ];
services.cua-driver.package = cuaDriverPackage;
};
};

# NOTE: cua-driver-linux-parallel-drag-gif (nix/cua-driver/tests/
# linux-parallel-drag-gif.nix) is intentionally NOT a flake check —
# it hand-launches Xorg, which can't get a VT/seat in the emulated
# GHA nixos-test VM. It is superseded by the services.xserver test
# above and kept only for local/real-X manual runs.
}
// pkgs.lib.optionalAttrs (system == "x86_64-linux") (
# Background GUI input coverage — one independent matrix job per
Expand Down
111 changes: 110 additions & 1 deletion libs/cua-driver/rust/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading