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
6 changes: 3 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:
contents: read
pull-requests: read
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
persist-credentials: false
- uses: actions/github-script@v7
Expand Down Expand Up @@ -67,12 +67,12 @@ jobs:
- name: Clippy
if: steps.changes.outputs.result != 'true'
run: cargo clippy --locked --all-targets -- -D warnings
- uses: actions/setup-node@v4
- uses: actions/setup-node@v5
with:
node-version: 24
cache: npm
cache-dependency-path: native-hid/package-lock.json
- uses: actions/cache@v4
- uses: actions/cache@v5
id: native-hid-cache
with:
path: native-hid/node_modules
Expand Down
35 changes: 22 additions & 13 deletions .github/workflows/gpui-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,20 +33,20 @@ jobs:
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
APPLE_APP_PASSWORD: ${{ secrets.APPLE_APP_PASSWORD }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: dtolnay/rust-toolchain@stable
with:
components: clippy, rustfmt
targets: aarch64-apple-darwin,x86_64-apple-darwin
- uses: Swatinem/rust-cache@v2
with:
shared-key: gpui-macos
- uses: actions/setup-node@v4
- uses: actions/setup-node@v5
with:
node-version: 24
cache: npm
cache-dependency-path: native-hid/package-lock.json
- uses: actions/cache@v4
- uses: actions/cache@v5
id: native-hid-cache
with:
path: native-hid/node_modules
Expand Down Expand Up @@ -128,7 +128,7 @@ jobs:
test -d "$RUNNER_TEMP/dmg/OpenMouse Bridge.app"
codesign --verify --deep --strict "$RUNNER_TEMP/dmg/OpenMouse Bridge.app"
hdiutil detach "$RUNNER_TEMP/dmg"
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v6
with:
name: bridge-macos-dmg
path: |
Expand All @@ -144,7 +144,7 @@ jobs:
runs-on: ubuntu-22.04
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Install build dependencies
# HID (udev), TLS, and what GPUI draws and takes input through
# (Wayland, X11/XCB, xkbcommon, Vulkan, fontconfig). No GTK: Linux has
Expand All @@ -157,19 +157,19 @@ jobs:
libwayland-dev libxkbcommon-dev libxkbcommon-x11-dev \
libx11-xcb-dev libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev \
libvulkan-dev libgl1-mesa-dev libfontconfig-dev libfreetype-dev \
libasound2-dev
libasound2-dev appstream
- uses: dtolnay/rust-toolchain@stable
with:
components: clippy, rustfmt
- uses: Swatinem/rust-cache@v2
with:
shared-key: gpui-linux
- uses: actions/setup-node@v4
- uses: actions/setup-node@v5
with:
node-version: 24
cache: npm
cache-dependency-path: native-hid/package-lock.json
- uses: actions/cache@v4
- uses: actions/cache@v5
id: native-hid-cache
with:
path: native-hid/node_modules
Expand Down Expand Up @@ -198,6 +198,8 @@ jobs:
cp assets/fonts/DM-Sans-OFL.txt README.md "$appdir/usr/bin/"
cp assets/openmouse-app-icon.png "$appdir/io.openmouse.bridge.png"
cp assets/openmouse-app-icon.png "$appdir/.DirIcon"
install -Dm644 packaging/linux/io.openmouse.bridge.appdata.xml \
"$appdir/usr/share/metainfo/io.openmouse.bridge.appdata.xml"
cat > "$appdir/io.openmouse.bridge.desktop" <<'DESKTOP'
[Desktop Entry]
Type=Application
Expand All @@ -208,12 +210,17 @@ jobs:
Categories=Utility;
Terminal=false
DESKTOP
install -Dm644 "$appdir/io.openmouse.bridge.desktop" \
"$appdir/usr/share/applications/io.openmouse.bridge.desktop"
install -Dm644 assets/openmouse-app-icon.png \
"$appdir/usr/share/icons/hicolor/512x512/apps/io.openmouse.bridge.png"
cat > "$appdir/AppRun" <<'APPRUN'
#!/bin/sh
HERE="$(dirname "$(readlink -f "$0")")"
exec "$HERE/usr/bin/openmouse-bridge" "$@"
APPRUN
chmod +x "$appdir/AppRun"
appstreamcli validate "$appdir/usr/share/metainfo/io.openmouse.bridge.appdata.xml"
- name: Build the AppImage
run: |
set -euo pipefail
Expand All @@ -231,9 +238,11 @@ jobs:
test -x squashfs-root/usr/bin/native-hid/node/bin/node
test -f squashfs-root/usr/bin/native-hid/src/apply.mjs
test -f squashfs-root/usr/bin/DM-Sans-OFL.txt
test -f squashfs-root/usr/share/metainfo/io.openmouse.bridge.appdata.xml
test -f squashfs-root/usr/share/applications/io.openmouse.bridge.desktop
# Every shared library the binary needs must resolve on this machine.
! ldd squashfs-root/usr/bin/openmouse-bridge | grep 'not found'
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v6
with:
name: bridge-linux-appimage
path: |
Expand All @@ -249,19 +258,19 @@ jobs:
WINDOWS_CERTIFICATE_BASE64: ${{ secrets.WINDOWS_CERTIFICATE_BASE64 }}
WINDOWS_CERTIFICATE_PASSWORD: ${{ secrets.WINDOWS_CERTIFICATE_PASSWORD }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: dtolnay/rust-toolchain@stable
with:
components: clippy, rustfmt
- uses: Swatinem/rust-cache@v2
with:
shared-key: gpui-windows
- uses: actions/setup-node@v4
- uses: actions/setup-node@v5
with:
node-version: 24
cache: npm
cache-dependency-path: native-hid/package-lock.json
- uses: actions/cache@v4
- uses: actions/cache@v5
id: native-hid-cache
with:
path: native-hid/node_modules
Expand Down Expand Up @@ -319,7 +328,7 @@ jobs:
if ($LASTEXITCODE -ne 0) { throw 'Installer signing failed' }
$checksum = (Get-FileHash OpenMouse-Bridge-windows-x64-setup.exe -Algorithm SHA256).Hash.ToLower() + ' OpenMouse-Bridge-windows-x64-setup.exe' + "`n"
[IO.File]::WriteAllText('OpenMouse-Bridge-windows-x64-setup.exe.sha256', $checksum, [Text.UTF8Encoding]::new($false))
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v6
with:
name: bridge-windows
path: |
Expand Down
22 changes: 11 additions & 11 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,12 @@ jobs:
WINDOWS_CERTIFICATE_BASE64: ${{ secrets.WINDOWS_CERTIFICATE_BASE64 }}
WINDOWS_CERTIFICATE_PASSWORD: ${{ secrets.WINDOWS_CERTIFICATE_PASSWORD }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: dtolnay/rust-toolchain@stable
with:
components: clippy, rustfmt
- uses: Swatinem/rust-cache@v2
- uses: actions/setup-node@v4
- uses: actions/setup-node@v5
with:
node-version: 24
cache: npm
Expand Down Expand Up @@ -99,7 +99,7 @@ jobs:
if ($LASTEXITCODE -ne 0) { throw 'Installer signing failed' }
$checksum = (Get-FileHash OpenMouse-Bridge-windows-x64-setup.exe -Algorithm SHA256).Hash.ToLower() + ' OpenMouse-Bridge-windows-x64-setup.exe' + "`n"
[IO.File]::WriteAllText('OpenMouse-Bridge-windows-x64-setup.exe.sha256', $checksum, [Text.UTF8Encoding]::new($false))
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v6
with:
name: bridge-windows
path: |
Expand All @@ -123,13 +123,13 @@ jobs:
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
APPLE_APP_PASSWORD: ${{ secrets.APPLE_APP_PASSWORD }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: dtolnay/rust-toolchain@stable
with:
components: clippy, rustfmt
targets: aarch64-apple-darwin,x86_64-apple-darwin
- uses: Swatinem/rust-cache@v2
- uses: actions/setup-node@v4
- uses: actions/setup-node@v5
with:
node-version: 24
cache: npm
Expand Down Expand Up @@ -224,7 +224,7 @@ jobs:
test -d "$RUNNER_TEMP/dmg/OpenMouse Bridge.app"
codesign --verify --deep --strict "$RUNNER_TEMP/dmg/OpenMouse Bridge.app"
hdiutil detach "$RUNNER_TEMP/dmg"
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v6
with:
name: bridge-macos
path: |
Expand All @@ -239,14 +239,14 @@ jobs:
name: Linux x64
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Install Linux HID and GUI dependencies
run: sudo apt-get update && sudo apt-get install -y build-essential clang cmake pkg-config libudev-dev libssl-dev libwayland-dev libxkbcommon-dev libxkbcommon-x11-dev libx11-xcb-dev libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libvulkan-dev libgl1-mesa-dev libfontconfig-dev libfreetype-dev libasound2-dev
- uses: dtolnay/rust-toolchain@stable
with:
components: clippy, rustfmt
- uses: Swatinem/rust-cache@v2
- uses: actions/setup-node@v4
- uses: actions/setup-node@v5
with:
node-version: 24
cache: npm
Expand Down Expand Up @@ -283,7 +283,7 @@ jobs:
packaging/bridge/build-bridge-package.sh openmouse-bridge openmouse-bridge-linux-x64.zip openmouse-app-icon.png
rm openmouse-bridge openmouse-app-icon.png
sha256sum openmouse-bridge-linux-x64.zip > openmouse-bridge-linux-x64.zip.sha256
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v6
with:
name: bridge-linux
path: |
Expand All @@ -296,10 +296,10 @@ jobs:
needs: [windows, macos, linux]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Verify tag matches Cargo version
run: test "v$(sed -n 's/^version = "\(.*\)"/\1/p' Cargo.toml | head -1)" = "${{ github.ref_name }}"
- uses: actions/download-artifact@v4
- uses: actions/download-artifact@v7
with:
path: artifacts
merge-multiple: true
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/update-mouse-protocol.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
update:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Check automation token
env:
PROTOCOL_UPDATE_TOKEN: ${{ secrets.PROTOCOL_UPDATE_TOKEN }}
Expand All @@ -22,7 +22,7 @@ jobs:
echo 'Set the PROTOCOL_UPDATE_TOKEN repository secret to a scoped GitHub App or personal token.' >&2
exit 1
fi
- uses: actions/setup-node@v4
- uses: actions/setup-node@v5
with:
node-version: 24
cache: npm
Expand Down
18 changes: 18 additions & 0 deletions packaging/linux/io.openmouse.bridge.appdata.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop-application">
<id>io.openmouse.bridge</id>
<metadata_license>CC0-1.0</metadata_license>
<project_license>MIT</project_license>
<name>OpenMouse Bridge</name>
<summary>Local mouse companion for the OpenMouse control panel</summary>
<description>
<p>OpenMouse Bridge connects the OpenMouse control panel to supported mice. It applies device settings, shows battery status, and displays profile notifications on your desktop.</p>
</description>
<launchable type="desktop-id">io.openmouse.bridge.desktop</launchable>
<url type="homepage">https://openmouse.app/</url>
<url type="bugtracker">https://github.com/OpenMouse-Project/OpenMouse-Bridge/issues</url>
<content_rating type="oars-1.0"/>
<provides>
<binary>openmouse-bridge</binary>
</provides>
</component>
Loading