name: Tests
on:
push:
branches:
- main
pull_request:
branches:
- main
workflow_dispatch:
jobs:
test:
name: Run E2E Tests
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v4
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
- name: Cache Rust dependencies
uses: Swatinem/rust-cache@v2
- name: Build Rust proxy
run: cargo build --release
- uses: oven-sh/setup-bun@v2
- name: Install dependencies
run: bun install
- name: Install Playwright browsers
run: bunx playwright install chromium --with-deps
- name: Run E2E tests
run: bun run test:e2e
- name: Upload test results
uses: actions/upload-artifact@v4
if: failure()
with:
name: test-results
path: |
test-results/
playwright-report/
retention-days: 7