345 lines
11 KiB
YAML
345 lines
11 KiB
YAML
name: All Integration Tests
|
|
|
|
on:
|
|
push:
|
|
paths-ignore:
|
|
- 'typescript/**'
|
|
pull_request:
|
|
paths-ignore:
|
|
- 'typescript/**'
|
|
workflow_dispatch:
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
# ===========================================================================
|
|
# 1. LangChain / LangGraph Tests
|
|
# ===========================================================================
|
|
langchain:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 60
|
|
env:
|
|
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
|
CONFIDENT_API_KEY: ${{ secrets.CONFIDENT_API_KEY }}
|
|
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
|
|
DEEPEVAL_TELEMETRY_OPT_OUT: "1"
|
|
PYTHONUNBUFFERED: "1"
|
|
PYTEST_ADDOPTS: "-vv -rA --maxfail=1 --capture=tee-sys"
|
|
|
|
steps:
|
|
- name: Checkout Code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Set up Python 3.11
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: "3.11"
|
|
|
|
- name: Install Poetry
|
|
uses: snok/install-poetry@v1
|
|
with:
|
|
virtualenvs-create: true
|
|
virtualenvs-in-project: true
|
|
installer-parallel: true
|
|
|
|
- name: Install Dependencies
|
|
run: |
|
|
poetry install --no-interaction --no-root --only main
|
|
poetry run pip install -U langgraph langchain langchain-openai
|
|
|
|
- name: Install Project
|
|
run: poetry install --no-interaction --only main
|
|
|
|
- name: Run LangChain/LangGraph Tests
|
|
if: ${{ env.OPENAI_API_KEY != '' }}
|
|
run: |
|
|
poetry run pytest tests/test_integrations/test_langchain/
|
|
poetry run pytest tests/test_integrations/test_langgraph/
|
|
|
|
# ===========================================================================
|
|
# 2. CrewAI Tests
|
|
# ===========================================================================
|
|
crewai:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 60
|
|
env:
|
|
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
|
CONFIDENT_API_KEY: ${{ secrets.CONFIDENT_API_KEY }}
|
|
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
|
|
DEEPEVAL_TELEMETRY_OPT_OUT: "1"
|
|
PYTHONUNBUFFERED: "1"
|
|
|
|
steps:
|
|
- name: Checkout Code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Set up Python 3.11
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: "3.11"
|
|
|
|
- name: Install Poetry
|
|
uses: snok/install-poetry@v1
|
|
with:
|
|
virtualenvs-create: true
|
|
virtualenvs-in-project: true
|
|
|
|
- name: Install Dependencies
|
|
run: |
|
|
poetry install --no-interaction --no-root --only main
|
|
poetry install --with integrations
|
|
poetry run pip install -U crewai
|
|
# Pin to pydantic-ai-slim[openai] to avoid the meta-package's
|
|
# mistral extra (mistralai is currently quarantined on PyPI;
|
|
# see comment in pyproject.toml integrations group).
|
|
poetry run pip install -U "pydantic-ai-slim[openai]"
|
|
|
|
- name: Install Project
|
|
run: poetry install --no-interaction --only main
|
|
|
|
- name: Run CrewAI Tests
|
|
if: ${{ env.OPENAI_API_KEY != '' }}
|
|
run: poetry run pytest tests/test_integrations/test_crewai/
|
|
|
|
# ===========================================================================
|
|
# 3. Pydantic AI Tests
|
|
# ===========================================================================
|
|
pydantic-ai:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 60
|
|
env:
|
|
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
|
CONFIDENT_API_KEY: ${{ secrets.CONFIDENT_API_KEY }}
|
|
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
|
|
DEEPEVAL_TELEMETRY_OPT_OUT: "1"
|
|
PYTHONUNBUFFERED: "1"
|
|
|
|
steps:
|
|
- name: Checkout Code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Set up Python 3.11
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: "3.11"
|
|
|
|
- name: Install Poetry
|
|
uses: snok/install-poetry@v1
|
|
with:
|
|
virtualenvs-create: true
|
|
virtualenvs-in-project: true
|
|
|
|
- name: Install Dependencies (Pydantic AI)
|
|
run: |
|
|
poetry install --no-interaction --no-root --only main
|
|
poetry install --with integrations
|
|
# Pin to pydantic-ai-slim[openai] to avoid the meta-package's
|
|
# mistral extra (mistralai is currently quarantined on PyPI;
|
|
# see comment in pyproject.toml integrations group).
|
|
poetry run pip install -U "pydantic-ai-slim[openai]"
|
|
|
|
- name: Run Pydantic AI Tests
|
|
if: ${{ env.OPENAI_API_KEY != '' }}
|
|
run: poetry run pytest tests/test_integrations/test_pydanticai/
|
|
|
|
# ===========================================================================
|
|
# 4. LlamaIndex Tests
|
|
# ===========================================================================
|
|
llama-index:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 60
|
|
env:
|
|
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
|
CONFIDENT_API_KEY: ${{ secrets.CONFIDENT_API_KEY }}
|
|
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
|
|
DEEPEVAL_TELEMETRY_OPT_OUT: "1"
|
|
PYTHONUNBUFFERED: "1"
|
|
|
|
steps:
|
|
- name: Checkout Code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Set up Python 3.11
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: "3.11"
|
|
|
|
- name: Install Poetry
|
|
uses: snok/install-poetry@v1
|
|
with:
|
|
virtualenvs-create: true
|
|
virtualenvs-in-project: true
|
|
|
|
- name: Install Dependencies (LlamaIndex)
|
|
run: |
|
|
poetry install --no-interaction --no-root --only main
|
|
poetry install --with integrations
|
|
poetry run pip install -U llama-index
|
|
|
|
- name: Run LlamaIndex Tests
|
|
if: ${{ env.OPENAI_API_KEY != '' }}
|
|
run: poetry run pytest tests/test_integrations/test_llamaindex/
|
|
|
|
# ===========================================================================
|
|
# 5. OpenAI Agents Tests
|
|
# ===========================================================================
|
|
openai-agents:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 60
|
|
env:
|
|
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
|
CONFIDENT_API_KEY: ${{ secrets.CONFIDENT_API_KEY }}
|
|
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
|
|
DEEPEVAL_TELEMETRY_OPT_OUT: "1"
|
|
PYTHONUNBUFFERED: "1"
|
|
|
|
steps:
|
|
- name: Checkout Code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Set up Python 3.11
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: "3.11"
|
|
|
|
- name: Install Poetry
|
|
uses: snok/install-poetry@v1
|
|
with:
|
|
virtualenvs-create: true
|
|
virtualenvs-in-project: true
|
|
|
|
- name: Install Dependencies (OpenAI Agents)
|
|
run: |
|
|
poetry install --no-interaction --no-root --only main
|
|
poetry install --with integrations
|
|
poetry run pip install -U openai-agents
|
|
|
|
- name: Run OpenAI Agents Tests
|
|
if: ${{ env.OPENAI_API_KEY != '' }}
|
|
run: poetry run pytest tests/test_integrations/test_openai_agents/
|
|
|
|
# ===========================================================================
|
|
# 5. OpenAI Tests
|
|
# ===========================================================================
|
|
openai:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 60
|
|
env:
|
|
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
|
CONFIDENT_API_KEY: ${{ secrets.CONFIDENT_API_KEY }}
|
|
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
|
|
DEEPEVAL_TELEMETRY_OPT_OUT: "1"
|
|
PYTHONUNBUFFERED: "1"
|
|
|
|
steps:
|
|
- name: Checkout Code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Set up Python 3.11
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: "3.11"
|
|
|
|
- name: Install Poetry
|
|
uses: snok/install-poetry@v1
|
|
with:
|
|
virtualenvs-create: true
|
|
virtualenvs-in-project: true
|
|
|
|
- name: Install Dependencies (OpenAI)
|
|
run: |
|
|
poetry install --no-interaction --no-root --only main
|
|
poetry install --with integrations
|
|
poetry run pip install -U openai
|
|
|
|
- name: Run OpenAI Tests
|
|
if: ${{ env.OPENAI_API_KEY != '' }}
|
|
run: poetry run pytest tests/test_integrations/test_openai/
|
|
|
|
# ===========================================================================
|
|
# 6. AgentCore Tests
|
|
# ===========================================================================
|
|
agentcore:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 60
|
|
env:
|
|
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
|
CONFIDENT_API_KEY: ${{ secrets.CONFIDENT_API_KEY }}
|
|
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
|
|
DEEPEVAL_TELEMETRY_OPT_OUT: "1"
|
|
PYTHONUNBUFFERED: "1"
|
|
|
|
steps:
|
|
- name: Checkout Code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Set up Python 3.11
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: "3.11"
|
|
|
|
- name: Install Poetry
|
|
uses: snok/install-poetry@v1
|
|
with:
|
|
virtualenvs-create: true
|
|
virtualenvs-in-project: true
|
|
|
|
- name: Install Dependencies
|
|
run: |
|
|
poetry install --no-interaction --no-root --only main
|
|
poetry install --with integrations
|
|
poetry run pip install -U bedrock-agentcore strands-agents strands-agents-tools
|
|
|
|
- name: Install Project
|
|
run: poetry install --no-interaction --only main
|
|
|
|
- name: Run AgentCore Tests
|
|
if: ${{ env.OPENAI_API_KEY != '' }}
|
|
run: |
|
|
poetry run pytest tests/test_integrations/test_agentcore/test_async.py
|
|
poetry run pytest tests/test_integrations/test_agentcore/test_sync.py
|
|
|
|
# ===========================================================================
|
|
# 7. Strands Tests
|
|
# ===========================================================================
|
|
strands:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 60
|
|
env:
|
|
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
|
CONFIDENT_API_KEY: ${{ secrets.CONFIDENT_API_KEY }}
|
|
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
|
|
DEEPEVAL_TELEMETRY_OPT_OUT: "1"
|
|
PYTHONUNBUFFERED: "1"
|
|
|
|
steps:
|
|
- name: Checkout Code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Set up Python 3.11
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: "3.11"
|
|
|
|
- name: Install Poetry
|
|
uses: snok/install-poetry@v1
|
|
with:
|
|
virtualenvs-create: true
|
|
virtualenvs-in-project: true
|
|
|
|
- name: Install Dependencies
|
|
run: |
|
|
poetry install --no-interaction --no-root --only main
|
|
poetry install --with integrations
|
|
poetry run pip install -U strands-agents
|
|
|
|
- name: Install Project
|
|
run: poetry install --no-interaction --only main
|
|
|
|
- name: Run Strands Tests
|
|
if: ${{ env.OPENAI_API_KEY != '' }}
|
|
run: |
|
|
poetry run pytest tests/test_integrations/test_strands/
|