E2E REPL Test #4
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: E2E REPL Test | |
| on: | |
| workflow_dispatch: ~ | |
| push: | |
| branches: [ main ] | |
| pull_request: | |
| branches: [ main ] | |
| jobs: | |
| e2e: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: ⚡ Setup Golang | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version-file: go.mod | |
| cache: true | |
| - name: Setup Rust | |
| uses: dtolnay/rust-toolchain@master | |
| with: | |
| toolchain: '1.91.1' | |
| default: true | |
| profile: minimal | |
| components: rustfmt, clippy | |
| - name: ⚡ Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '20' | |
| cache: 'npm' | |
| cache-dependency-path: tavern/internal/www/package-lock.json | |
| - name: 📦 Install System Dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y protobuf-compiler libssl-dev | |
| - name: 🔨 Build Tavern | |
| run: | | |
| go mod download | |
| go build -v -o tavern_bin ./tavern | |
| - name: 🚀 Run Tavern | |
| env: | |
| HTTP_LISTEN_ADDR: "127.0.0.1:8000" | |
| ENABLE_TEST_DATA: "true" | |
| run: | | |
| ./tavern_bin & | |
| echo "Waiting for Tavern to start..." | |
| # Wait for port 8000 | |
| timeout 30 sh -c 'until nc -z $0 $1; do sleep 1; done' 127.0.0.1 8000 | |
| - name: 🤖 Run Agent | |
| working-directory: implants/imixv2 | |
| env: | |
| IMIX_CALLBACK_URI: "http://127.0.0.1:8000" | |
| IMIX_CALLBACK_INTERVAL: 2 | |
| run: | | |
| echo "Fetching Tavern public key..." | |
| export IMIX_SERVER_PUBKEY=$(curl -s http://127.0.0.1:8000/status | jq -r .Pubkey) | |
| echo "Got pubkey: $IMIX_SERVER_PUBKEY" | |
| echo "Building imixv2..." | |
| cargo run --release & | |
| - name: 🎭 Install Playwright | |
| working-directory: tests/e2e | |
| run: | | |
| npm ci | |
| npx playwright install --with-deps chromium | |
| - name: 🧪 Run E2E Tests | |
| working-directory: tests/e2e | |
| run: npx playwright test |