Files
orca/.github/workflows/e2e.yml
T

55 lines
2.0 KiB
YAML

name: Nested SSH current main fixture validation
on:
workflow_dispatch: null
permissions:
contents: read
jobs:
ssh:
strategy:
fail-fast: false
matrix:
include:
- spec: tests/e2e/nested-runtime-ssh-lifecycle.spec.ts
scenario: isolates nested SSH worktrees across two HUB runtimes
lane: two-hubs
- spec: tests/e2e/nested-runtime-ssh-lifecycle.spec.ts
scenario: routes nested SSH through a HUB without shared-control capability
lane: legacy-hub
- spec: tests/e2e/nested-runtime-ssh-routing.spec.ts
scenario: .*
lane: routing
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Install headless tools
run: sudo apt-get update && sudo apt-get install -y build-essential
openssh-client python3 ripgrep xvfb zsh openbox x11-utils
- uses: ./.github/actions/install-node-dependencies
with:
native-runtime: electron
- name: Build relay and Electron
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 nested SSH scenario
run: xvfb-run --auto-servernum bash .github/scripts/e2e-with-window-manager.sh
env SKIP_BUILD=1 ORCA_E2E_SSH_DOCKER=1 ORCA_E2E_NESTED_RUNTIME_SSH=1
ORCA_E2E_WEB_CLIENT=1 ORCA_E2E_FORWARD_APP_LOGS=1 pnpm exec playwright
test --config tests/playwright.config.ts ${{ matrix.spec }}
--project=electron-headless --workers=1 --grep "$SCENARIO" --retries=0
env:
SCENARIO: ${{ matrix.scenario }}
- uses: actions/upload-artifact@v7
if: always()
with:
name: nested-current-${{ matrix.lane }}
path: test-results/
retention-days: 3
name: nested SSH ${{ matrix.lane }}