mirror of
https://github.com/stablyai/orca.git
synced 2026-09-22 00:02:31 +00:00
* test: exercise native Wayland Hangul in isolated CI session * test: wait for nested compositor socket before selecting IBus * test: align Wayland IBus discovery with GNOME environment filtering * test: assert Wayland launch and register native Hangul evidence
110 lines
3.3 KiB
YAML
110 lines
3.3 KiB
YAML
name: Terminal IME E2E
|
|
|
|
on:
|
|
# Why workflow_call and not pull_request: pr.yml owns the path filter that decides when an IME
|
|
# change is worth a real ibus session. A pull_request trigger here would run it on every PR.
|
|
workflow_call:
|
|
workflow_dispatch:
|
|
schedule:
|
|
- cron: '30 9 * * *'
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
linux-x11:
|
|
name: Linux X11 terminal IME
|
|
runs-on: ubuntu-22.04
|
|
timeout-minutes: 25
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v6
|
|
with:
|
|
persist-credentials: false
|
|
|
|
- name: Install native build and IME tools
|
|
run: >-
|
|
sudo apt-get update &&
|
|
sudo apt-get install -y
|
|
build-essential
|
|
dbus-x11
|
|
dconf-gsettings-backend
|
|
ibus
|
|
ibus-hangul
|
|
libglib2.0-bin
|
|
python3
|
|
xdotool
|
|
xfwm4
|
|
xvfb
|
|
|
|
- uses: ./.github/actions/install-node-dependencies
|
|
with:
|
|
native-runtime: electron
|
|
|
|
- name: Build Electron app for E2E
|
|
run: pnpm exec electron-vite build --mode e2e
|
|
|
|
- name: Run deterministic terminal IME boundary tests
|
|
run: >-
|
|
xvfb-run --auto-servernum
|
|
env SKIP_BUILD=1 ORCA_E2E_FORWARD_APP_LOGS=1
|
|
pnpm run test:e2e --
|
|
tests/e2e/terminal-ime-exact-byte.spec.ts
|
|
--workers=1
|
|
|
|
- name: Run native IBus Hangul exact-byte tests
|
|
# Why not the default success(): the synthetic step above runs first, so its failure used
|
|
# to skip this one entirely — the real-IME half reported nothing on exactly the PRs that
|
|
# broke IME code. The two signals are independent and both belong in the log.
|
|
if: '!cancelled()'
|
|
env:
|
|
SKIP_BUILD: '1'
|
|
run: pnpm run test:e2e:terminal-ime-native
|
|
|
|
- name: Upload terminal IME evidence
|
|
if: always()
|
|
uses: actions/upload-artifact@v7
|
|
with:
|
|
name: terminal-ime-evidence
|
|
path: test-results/
|
|
retention-days: 7
|
|
if-no-files-found: ignore
|
|
|
|
linux-wayland:
|
|
name: Linux Wayland Hangul terminating digit
|
|
runs-on: ubuntu-22.04
|
|
timeout-minutes: 25
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
with:
|
|
persist-credentials: false
|
|
- name: Install native build, nested compositor and IME tools
|
|
run: >-
|
|
sudo apt-get update && sudo apt-get install -y
|
|
build-essential python3 fonts-noto-cjk dbus-x11 dconf-gsettings-backend
|
|
ibus ibus-hangul gnome-shell gnome-settings-daemon libglib2.0-bin
|
|
xdotool xvfb x11-utils imagemagick
|
|
- uses: ./.github/actions/install-node-dependencies
|
|
with:
|
|
native-runtime: electron
|
|
- name: Build Electron app for E2E
|
|
env:
|
|
VITE_EXPOSE_STORE: 'true'
|
|
run: |
|
|
pnpm run build:relay
|
|
pnpm exec electron-vite build --mode e2e
|
|
pnpm run build:web-from-renderer
|
|
- name: Run native Wayland Hangul terminating digit
|
|
env:
|
|
SKIP_BUILD: '1'
|
|
run: node config/scripts/run-terminal-ibus-hangul-e2e.mjs --nested-wayland
|
|
- name: Upload Wayland terminal IME evidence
|
|
if: always()
|
|
uses: actions/upload-artifact@v7
|
|
with:
|
|
name: terminal-wayland-ime-evidence
|
|
path: test-results/
|
|
retention-days: 7
|
|
if-no-files-found: error
|