Skip to content

.

. #1707

name: All Integration Tests
on:
push:
branches: [main]
pull_request:
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
poetry run pip install -U pydantic-ai sdk
- 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
poetry run pip install -U pydantic-ai sdk
- 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