11---
22name : E2E (Linux) - agent-review
3- # CEF LIMITATION: Linux E2E via tauri-driver requires WebKitWebDriver
4- # (webkit2gtk), but this app uses the CEF runtime (tauri-runtime-cef).
5- # WebKitWebDriver cannot drive a CEF-backed WebView, so Linux CEF E2E is not
6- # a supported CI gate. Keep this workflow manual/diagnostic until the CEF fork
7- # adds a ChromeDriver-based automation path or an alternative harness is wired.
8- # Use macOS/Appium for supported local or manual desktop E2E runs.
9- # See also: test.yml where the e2e-linux job is commented out for the same reason.
3+ #
4+ # Runs the agent-review spec on Linux via the unified Appium Chromium
5+ # driver attached to CEF's CDP port. Same driver path as `e2e.yml`; this
6+ # workflow exists because agent-review needs a longer timeout and its own
7+ # artifact retention.
8+ #
9+ # Previously: tauri-driver + WebKitWebDriver, which can't drive a
10+ # CEF-backed WebView. That path is dead.
1011on :
1112 workflow_dispatch :
1213permissions :
@@ -16,7 +17,7 @@ concurrency:
1617 cancel-in-progress : true
1718jobs :
1819 e2e-agent-review :
19- name : E2E agent-review (Linux / tauri-driver )
20+ name : E2E agent-review (Linux / Appium Chromium )
2021 runs-on : ubuntu-22.04
2122 timeout-minutes : 60
2223 steps :
@@ -47,16 +48,16 @@ jobs:
4748 - name : Install Rust (rust-toolchain.toml)
4849 if : steps.gate.outputs.present == 'true'
4950 uses : dtolnay/rust-toolchain@1.93.0
50- - name : Install system dependencies
51+ - name : Install system dependencies (CEF + Xvfb)
5152 if : steps.gate.outputs.present == 'true'
5253 run : |
5354 sudo apt-get update
5455 sudo apt-get install -y \
5556 libgtk-3-dev libwebkit2gtk-4.1-dev libappindicator3-dev \
5657 librsvg2-dev patchelf \
5758 xvfb at-spi2-core dbus-x11 \
58- webkit2gtk-driver \
59- libasound2-dev libxdo-dev libxtst-dev libx11-dev libevdev-dev
59+ libasound2-dev libxdo-dev libxtst-dev libx11-dev libevdev-dev \
60+ unzip curl python3
6061 - name : Cargo.lock fingerprint (deps only)
6162 if : steps.gate.outputs.present == 'true'
6263 id : cargo-lock-fingerprint
7677 restore-keys : |
7778 ${{ runner.os }}-e2e-agentreview-cargo-
7879 ${{ runner.os }}-e2e-cargo-
79- - name : Install tauri- driver
80+ - name : Install Appium and chromium driver
8081 if : steps.gate.outputs.present == 'true'
81- run : cargo install tauri-driver --version 2.0.5
82+ run : |
83+ npm install -g appium@3
84+ appium driver install --source=npm appium-chromium-driver
8285 - name : Install JS dependencies
8386 if : steps.gate.outputs.present == 'true'
8487 run : pnpm install --frozen-lockfile
9093 - name : Build E2E app
9194 if : steps.gate.outputs.present == 'true'
9295 run : pnpm --filter openhuman-app test:e2e:build
93- # Core is linked in-process — no sidecar staging needed.
9496 - name : Run agent-review E2E spec under Xvfb
9597 if : steps.gate.outputs.present == 'true'
9698 run : |
@@ -100,11 +102,10 @@ jobs:
100102 eval "$(dbus-launch --sh-syntax)"
101103 mkdir -p ~/.local/share/applications
102104 export RUST_BACKTRACE=1
103- cd app
104- mkdir -p test/e2e/artifacts
105- if ! bash scripts/e2e-run-spec.sh test/e2e/specs/agent-review.spec.ts agent-review; then
105+ mkdir -p app/test/e2e/artifacts
106+ if ! bash app/scripts/e2e-run-session.sh test/e2e/specs/agent-review.spec.ts agent-review; then
106107 echo "First agent-review run failed; retrying once..."
107- bash scripts/e2e-run-spec .sh test/e2e/specs/agent-review.spec.ts agent-review-retry
108+ bash app/ scripts/e2e-run-session .sh test/e2e/specs/agent-review.spec.ts agent-review-retry
108109 fi
109110 - name : Upload E2E artifacts
110111 if : always() && steps.gate.outputs.present == 'true'
@@ -113,6 +114,7 @@ jobs:
113114 name : e2e-agent-review-artifacts
114115 path : |
115116 app/test/e2e/artifacts/**
116- /tmp/tauri-driver-e2e-agent-review.log
117+ /tmp/openhuman-e2e-app-*.log
118+ /tmp/appium-e2e-*.log
117119 if-no-files-found : ignore
118120 retention-days : 7
0 commit comments