feat(hid): support LIGHTSPEED receivers and RGB effects #849
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: [main, master] | |
| pull_request: | |
| env: | |
| CARGO_TERM_COLOR: always | |
| CARGO_INCREMENTAL: 0 | |
| RUSTFLAGS: "-D warnings" | |
| jobs: | |
| fmt: | |
| name: rustfmt | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: rustfmt | |
| - run: cargo fmt --all -- --check | |
| clippy: | |
| name: clippy | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: clippy | |
| - uses: Swatinem/rust-cache@v2 | |
| - run: | | |
| sudo apt-get update | |
| sudo apt-get install -y \ | |
| libudev-dev \ | |
| gcc g++ clang libfontconfig-dev libwayland-dev \ | |
| libxkbcommon-x11-dev libx11-xcb-dev \ | |
| libssl-dev libzstd-dev pkg-config | |
| - run: cargo clippy --workspace --all-targets -- -D warnings | |
| check-linux: | |
| name: cargo check (linux) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - run: | | |
| sudo apt-get update | |
| sudo apt-get install -y \ | |
| libudev-dev \ | |
| gcc g++ clang libfontconfig-dev libwayland-dev \ | |
| libxkbcommon-x11-dev libx11-xcb-dev \ | |
| libssl-dev libzstd-dev pkg-config | |
| - run: cargo check --workspace --all-targets | |
| docs-hid: | |
| name: rustdoc (hid crates) | |
| runs-on: ubuntu-latest | |
| env: | |
| RUSTDOCFLAGS: "-D warnings" | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - run: | | |
| sudo apt-get update | |
| sudo apt-get install -y \ | |
| libudev-dev \ | |
| pkg-config | |
| - run: cargo doc -p openlogi-hid --no-deps --document-private-items | |
| - run: cargo doc -p openlogi-hidpp --no-deps --document-private-items | |
| # openlogi-core / openlogi-hid / openlogi-assets / openlogi / openlogi-hook | |
| # all compile on Linux today (the hook crate has stubs for non-macOS targets). | |
| # openlogi-gui needs GPUI's wayland / x11 system libs; the same dependency set | |
| # the clippy job installs is sufficient. Test workspace there as well so the | |
| # config-roundtrip and binding suites run on a non-macOS host. | |
| test-linux: | |
| name: tests (linux) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - run: | | |
| sudo apt-get update | |
| sudo apt-get install -y \ | |
| libudev-dev \ | |
| gcc g++ clang libfontconfig-dev libwayland-dev \ | |
| libxkbcommon-x11-dev libx11-xcb-dev \ | |
| libssl-dev libzstd-dev pkg-config | |
| - run: cargo test --workspace --exclude openlogi-gui | |
| test-macos: | |
| name: tests (macos, ${{ matrix.arch }}) | |
| runs-on: ${{ matrix.runner }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - arch: arm64 | |
| runner: macos-latest | |
| - arch: x86_64 | |
| runner: macos-15-intel | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: Verify runner architecture | |
| run: test "$(uname -m)" = "${{ matrix.arch }}" | |
| - run: cargo test --workspace --all-targets | |
| clippy-windows: | |
| name: clippy (windows) | |
| runs-on: windows-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: clippy | |
| - uses: Swatinem/rust-cache@v2 | |
| # Whole workspace, matching the Linux jobs — GPUI's DirectX backend | |
| # covers the GUI on Windows. clippy subsumes `cargo check` and | |
| # additionally lints the Windows-only code paths (the WH_MOUSE_LL hook, | |
| # SendInput synthesis, native HID writer, the composite HID++ channel, | |
| # and the agent's HKCU-Run autostart) that the Linux/macOS clippy jobs | |
| # never compile. | |
| - run: cargo clippy --workspace --all-targets -- -D warnings |