mirror of
https://github.com/stablyai/orca.git
synced 2026-09-29 08:03:20 +00:00
66 lines
2.7 KiB
YAML
66 lines
2.7 KiB
YAML
name: Localhost SSH original scenario baseline
|
|
on:
|
|
workflow_dispatch:
|
|
permissions:
|
|
contents: read
|
|
jobs:
|
|
ssh:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
spec:
|
|
- tests/e2e/ssh-localhost.spec.ts
|
|
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 openssh-server python3 ripgrep xvfb zsh openbox x11-utils
|
|
- uses: ./.github/actions/install-node-dependencies
|
|
with:
|
|
native-runtime: electron
|
|
- name: Start isolated localhost SSH server
|
|
shell: bash
|
|
run: |
|
|
mkdir -p "$HOME/.pi/agent"
|
|
fixture="$RUNNER_TEMP/orca-localhost-sshd"
|
|
mkdir -p "$fixture"
|
|
ssh-keygen -q -t ed25519 -N '' -f "$fixture/host_key"
|
|
ssh-keygen -q -t ed25519 -N '' -f "$fixture/client_key"
|
|
cat > "$fixture/sshd_config" <<EOF
|
|
Port 22222
|
|
ListenAddress 127.0.0.1
|
|
HostKey $fixture/host_key
|
|
PidFile $fixture/sshd.pid
|
|
AuthorizedKeysFile $fixture/client_key.pub
|
|
StrictModes no
|
|
PasswordAuthentication no
|
|
KbdInteractiveAuthentication no
|
|
UsePAM yes
|
|
AllowUsers $(id -un)
|
|
Subsystem sftp internal-sftp
|
|
EOF
|
|
sudo mkdir -p /run/sshd
|
|
sudo /usr/sbin/sshd -f "$fixture/sshd_config" -E "$fixture/sshd.log"
|
|
ssh -i "$fixture/client_key" -p 22222 -o BatchMode=yes -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null 127.0.0.1 true || { sudo cat "$fixture/sshd.log"; exit 1; }
|
|
echo "ORCA_E2E_SSH_PORT=22222" >> "$GITHUB_ENV"
|
|
echo "ORCA_E2E_SSH_USER=$(id -un)" >> "$GITHUB_ENV"
|
|
echo "ORCA_E2E_SSH_IDENTITY_FILE=$fixture/client_key" >> "$GITHUB_ENV"
|
|
- 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 existing relay performance scenarios
|
|
run: xvfb-run --auto-servernum bash .github/scripts/e2e-with-window-manager.sh env SKIP_BUILD=1 ORCA_E2E_SSH_DOCKER=1 ORCA_E2E_SSH_LOCALHOST=1 ORCA_FEATURE_REMOTE_AGENT_HOOKS=1 ORCA_E2E_FORWARD_APP_LOGS=1 pnpm exec playwright test --config tests/playwright.config.ts ${{ matrix.spec }} --project=electron-headless --workers=1 --repeat-each=3
|
|
- uses: actions/upload-artifact@v7
|
|
if: always()
|
|
with:
|
|
name: localhost-ssh-repeat-${{ strategy.job-index }}
|
|
path: test-results/
|
|
retention-days: 3
|