plano/.github/workflows/e2e_tests_parallel.yml
2025-12-25 17:41:32 -08:00

82 lines
2.7 KiB
YAML

name: e2e tests (parallel)
permissions:
contents: read
on:
push:
branches:
- main # Run tests on pushes to the main branch
pull_request:
jobs:
e2e_tests:
runs-on: ubuntu-latest
strategy:
fail-fast: false # Continue running other jobs even if one fails
matrix:
test-suite:
- name: "Prompt Gateway"
script: "run_prompt_gateway_tests.sh"
- name: "Model Alias Routing"
script: "run_model_alias_tests.sh"
- name: "OpenAI Responses API"
script: "run_openai_responses_tests.sh"
- name: "OpenAI Responses API with State"
script: "run_openai_responses_with_state_tests.sh"
name: ${{ matrix.test-suite.name }}
steps:
- name: Checkout code
uses: actions/checkout@v3
# --- Disk inspection & cleanup section (added to free space on GitHub runner) ---
- name: Check disk usage before cleanup
run: |
echo "=== Disk usage before cleanup ==="
df -h
echo "=== Repo size ==="
du -sh .
- name: Free disk space on runner
run: |
echo "=== Cleaning preinstalled SDKs and toolchains to free space ==="
sudo rm -rf /usr/share/dotnet
sudo rm -rf /usr/local/lib/android
sudo rm -rf /opt/ghc
# If you still hit disk issues, uncomment this to free more space.
# It just removes cached tool versions; setup-python will re-download what it needs.
# sudo rm -rf /opt/hostedtoolcache || true
echo "=== Docker cleanup (before our builds/compose) ==="
docker system prune -af || true
docker volume prune -f || true
echo "=== Disk usage after cleanup ==="
df -h
# --- End disk cleanup section ---
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.12"
- name: Install Poetry
run: |
export POETRY_VERSION=2.2.1
curl -sSL https://install.python-poetry.org | python3 -
export PATH="$HOME/.local/bin:$PATH"
- name: Run ${{ matrix.test-suite.name }} tests
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
MISTRAL_API_KEY: ${{ secrets.MISTRAL_API_KEY }}
GROQ_API_KEY: ${{ secrets.GROQ_API_KEY }}
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
AZURE_API_KEY: ${{ secrets.AZURE_API_KEY }}
AWS_BEARER_TOKEN_BEDROCK: ${{ secrets.AWS_BEARER_TOKEN_BEDROCK }}
GROK_API_KEY : ${{ secrets.GROK_API_KEY }}
run: |
python -mvenv venv
source venv/bin/activate && cd tests/e2e && bash ${{ matrix.test-suite.script }}