mobux 0.6.0

A touch-friendly tmux web UI for unhinged people who run terminal sessions from their phone while walking the dog
name: CI

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

jobs:
  check:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@stable
      - uses: Swatinem/rust-cache@v2
        with:
          # sherpa-rs downloads the prebuilt onnxruntime/sherpa-onnx libs
          # here; without caching it, a warm target/ cache makes cargo skip
          # the build-script download and the linker can't find -lonnxruntime.
          cache-directories: ~/.cache/sherpa-rs
      - run: cargo check
      - run: cargo test --no-run
      - run: cargo clippy -- -D warnings

  e2e:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@stable
      - uses: Swatinem/rust-cache@v2
        with:
          # sherpa-rs downloads the prebuilt onnxruntime/sherpa-onnx libs
          # here; without caching it, a warm target/ cache makes cargo skip
          # the build-script download and the linker can't find -lonnxruntime.
          cache-directories: ~/.cache/sherpa-rs
      - uses: actions/setup-node@v4
        with:
          node-version: 22
      - run: npm ci
      - run: npx playwright install chromium
      - run: sudo apt-get install -y tmux
      - name: Build mobux
        run: cargo build
      - name: Run critical-path tests
        run: make test-critical-path
        env:
          CI: true
          MOBUX_URL: http://localhost:8281
      - name: Run smoke tests
        run: make test-smoke
        env:
          CI: true
          MOBUX_URL: http://localhost:8281
      - name: Run SPA (/app) tests
        run: make test-spa
        env:
          CI: true
          MOBUX_URL: http://localhost:8281
      - name: Run mesh relay tests (two-instance)
        run: make test-mesh
        env:
          CI: true
          MOBUX_URL: http://localhost:8281