Skip to content

Fix the libusb virtual-device CI runner - #839

Merged
Youw merged 1 commit into
masterfrom
fix-libusb-ci
Nov 6, 2026
Merged

Youw merged 1 commit into
masterfrom
fix-libusb-ci

Conversation

@Youw

@Youw Youw commented Nov 5, 2026 •

Copy link
Copy Markdown
Member

The libusb virtual-device job fails during dependency setup when ubuntu-latest selects a guest kernel without the expected linux-modules-extra package. Pin the runner to Ubuntu 24.04, whose generic kernel provides the required package layout, and document that raw_gadget is packaged while dummy_hcd is built against matching headers.

Use apt with Ubuntu's primary archive and --no-install-recommends. Bound dependency setup, module builds and VM execution. No custom Acquire:: retry or timeout options are added.

Validation: workflow YAML and Bash syntax pass; ShellCheck passes with the existing kernel-directory selection warning (SC2010) excluded. The GitHub build matrix, docs, and all three BSD builds pass. The libusb VM run executes DeviceIO_libusb successfully with no skipped tests.

Related to #799 and #728.

Assisted-by: Codex:GPT-6

Pin the runner to Ubuntu 24.04 so the generic guest kernel has matching
modules-extra and headers. Use apt with the primary Ubuntu archive, omit
recommended packages, and bound setup, module builds and VM execution.
Document the packaged raw_gadget and source-built dummy_hcd setup.

Related to #799 and #728.

Assisted-by: Codex:GPT-6
@mcuee mcuee added build system/CI Anything related to building the project or running on CI ci-virtual-device Run the virtual HID device CI jobs (Windows driver + libusb raw-gadget) labels Nov 6, 2026
@Youw
Youw merged commit c89e7bc into master Nov 6, 2026
33 of 35 checks passed
@Youw
Youw deleted the fix-libusb-ci branch November 6, 2026 08:19
Youw pushed a commit that referenced this pull request Nov 6, 2026
Derive input transfer sizes from HID report descriptors, retaining the
endpoint packet size as a minimum and fallback.

Cache descriptors, bound parsed sizes, and preserve control/feature access
when interrupt input is unavailable. Add parser coverage using 25 existing
descriptor fixtures plus malformed and boundary cases.

Fixes #274
Related to #731, #796, #833 and #839

Assisted-by: codex:gpt-5.6-sol
Assisted-by: claude-code:claude-fable-5
Assisted-by: codex:gpt-6-astra
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build system/CI Anything related to building the project or running on CI ci-virtual-device Run the virtual HID device CI jobs (Windows driver + libusb raw-gadget)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants