Skip to content

Commit 6386854

Browse files
authored
test(e2e): unify driver onto Appium Chromium attached to CEF CDP (tinyhumansai#1696)
1 parent 2672706 commit 6386854

11 files changed

Lines changed: 847 additions & 442 deletions

File tree

.github/workflows/e2e-agent-review.yml

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
---
22
name: 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.
1011
on:
1112
workflow_dispatch:
1213
permissions:
@@ -16,7 +17,7 @@ concurrency:
1617
cancel-in-progress: true
1718
jobs:
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
@@ -76,9 +77,11 @@ jobs:
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
@@ -90,7 +93,6 @@ jobs:
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

Comments
 (0)