Add mise.toml task runner and Linux testing instructions

This commit is contained in:
Lucas Oskorep committed 2026-10-19 17:18:03 -04:00
1 parent f468c15262
commit 4dccfe3284
2 files changed
+57

No files matched your search

+23
View File
@@ -32,6 +32,29 @@ All cameras under Arashi Vision USB Vendor ID `0x2e1a`:
---
## Quickstart with `mise`
This project includes a [`mise.toml`](mise.toml) configuration that manages the Rust toolchain and exposes convenient task runners:
```bash
# Trust and install toolchain
mise trust
mise install
# Install Linux udev rules (one-time setup on Linux for non-root USB access)
mise run udev-install
# Build & launch the desktop GUI
mise run gui
# Run the CLI (e.g., list cameras or inspect camera info)
mise run cli -- list
mise run cli -- info
# Run automated live hardware GUI verification
mise run self-test
```
## Building from Source
Requires Rust `1.78+` (no C/C++ `libusb` system dependency required—uses pure-Rust [`nusb`](https://docs.rs/nusb)):
+34
View File
@@ -0,0 +1,34 @@
[tools]
rust = "stable"
[tasks.default]
description = "Build and launch the Insta360 Link Controller desktop GUI"
depends = ["gui"]
[tasks.gui]
description = "Build and launch the Insta360 Link Controller desktop GUI"
run = "cargo run --release -p insta360-link-gui"
[tasks.cli]
description = "Run the insta360-link-ctl CLI (e.g. mise run cli -- info)"
run = "cargo run --release -p insta360-link-cli --"
[tasks.server]
description = "Start the HTTP & WebSocket remote control server on 127.0.0.1:8360"
run = "cargo run --release -p insta360-link-server --"
[tasks.build]
description = "Build all workspace crates in release mode"
run = "cargo build --release --workspace"
[tasks.test]
description = "Run all workspace unit and integration tests"
run = "cargo test --workspace"
[tasks.self-test]
description = "Run the automated live hardware GUI verification sequence"
run = "INSTA360_GUI_SELF_TEST=1 cargo run --release -p insta360-link-gui"
[tasks.udev-install]
description = "Install Linux udev rules for non-root USB access to Insta360 Link webcams"
run = "sudo cp udev/99-insta360-link.rules /etc/udev/rules.d/99-insta360-link.rules && sudo udevadm control --reload-rules && sudo udevadm trigger"