navette-browser 1.7.0

The browser for agents — one tiny binary driving the WebView your OS already ships.
name: bench

on:
  workflow_dispatch:

jobs:
  bench:
    strategy:
      fail-fast: false
      matrix:
        include:
          - os: macos-14
            label: macOS arm64 (WKWebView)
          - os: windows-latest
            label: Windows x64 (WebView2)
          - os: ubuntu-24.04
            label: Linux x64 (WebKitGTK)
    runs-on: ${{ matrix.os }}
    env:
      BENCH_LABEL: ${{ matrix.label }}
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@stable
      - name: install linux webkit deps
        if: runner.os == 'Linux'
        run: sudo apt-get update && sudo apt-get install -y libwebkit2gtk-4.1-dev libgtk-3-dev glib-networking xvfb curl dbus
      - run: cargo build --release
      - name: run bench
        shell: bash
        run: |
          if [ "$RUNNER_OS" = "Linux" ]; then
            WEBKIT_FORCE_SANDBOX=0 WEBKIT_DISABLE_DMABUF_RENDERER=1 GDK_PLATFORM=x11 \
              setsid xvfb-run -a -s "-screen 0 1280x800x24" dbus-run-session -- \
              python3 bench/bench.py
            pkill -f "http.server" || true
            pkill -x navette || true
            pkill -x Xvfb || true
          else
            python3 bench/bench.py
            pkill -f "http.server" || true
            pkill -x navette || true
          fi
          exit 0