Skip to content

Update

Update #821

Workflow file for this run

name: Main Validation
on:
push:
branches:
- "*release*" # Run on release-* format
- "release/*" # Run on release/1.2.3 branch format
- "v2.0"
workflow_dispatch: # Allows manual triggering
inputs:
branch:
description: 'Branch to run checks on'
required: true
type: string
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
style-check:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.9"]
fail-fast: true # Stop all matrix jobs if one fails
defaults:
run:
working-directory: libs/agno
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
cache: "pip"
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y python3-venv
python -m pip install --upgrade \
pip setuptools wheel \
ruff mypy pytest types-pyyaml
pip install --no-deps -r requirements.txt
- name: Ruff format
run: |
ruff format .
- name: Ruff check
run: |
ruff check .
- name: Mypy
run: |
mypy .
# Run tests for OpenAI
test-openai:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.12"]
fail-fast: true # Stop all matrix jobs if one fails
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
EXA_API_KEY: ${{ secrets.EXA_API_KEY }}
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: Run dev setup and OpenAI tests
working-directory: .
run: |
./scripts/run_model_tests.sh openai
# Run tests for Google
test-google:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.12"]
fail-fast: true # Stop all matrix jobs if one fails
env:
GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }}
GOOGLE_CLOUD_PROJECT: ${{ secrets.GOOGLE_CLOUD_PROJECT }}
EXA_API_KEY: ${{ secrets.EXA_API_KEY }}
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: Run dev setup and Google tests
working-directory: .
run: |
./scripts/run_model_tests.sh google
# Run tests for Anthropic
test-anthropic:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.12"]
fail-fast: true # Stop all matrix jobs if one fails
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
EXA_API_KEY: ${{ secrets.EXA_API_KEY }}
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: Run dev setup and Anthropic tests
working-directory: .
run: |
./scripts/run_model_tests.sh anthropic
# Run tests for AWS
#
# -- Some tests hang. Commented out until we revisit them.
#
# test-aws:
# runs-on: ubuntu-latest
# strategy:
# matrix:
# python-version: ["3.12"]
# fail-fast: true
# env:
# AWS_ACCESS_KEY_ID: ${{ secrets.BEDROCK_AWS_ACCESS_KEY_ID }}
# AWS_SECRET_ACCESS_KEY: ${{ secrets.BEDROCK_AWS_SECRET_ACCESS_KEY }}
# AWS_REGION: "us-east-1"
# EXA_API_KEY: ${{ secrets.EXA_API_KEY }}
# steps:
# - uses: actions/checkout@v3
# - name: Set up Python ${{ matrix.python-version }}
# uses: actions/setup-python@v4
# with:
# python-version: ${{ matrix.python-version }}
# - name: Install uv
# run: |
# curl -LsSf https://astral.sh/uv/install.sh | sh
# echo "$HOME/.cargo/bin" >> $GITHUB_PATH
# - name: Run dev setup and AWS tests
# working-directory: .
# run: |
# ./scripts/run_model_tests.sh aws
# Run tests for Cohere
test-cohere:
if: false # Disable cohere tests until we get a production account
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.12"]
fail-fast: true
env:
CO_API_KEY: ${{ secrets.CO_API_KEY }}
EXA_API_KEY: ${{ secrets.EXA_API_KEY }}
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: Run dev setup and Cohere tests
working-directory: .
run: |
./scripts/run_model_tests.sh cohere
# Run tests for Deepseek
test-deepseek:
if: false # Disable deepseek tests until we get a production account
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.12"]
fail-fast: true
env:
DEEPSEEK_API_KEY: ${{ secrets.DEEPSEEK_API_KEY }}
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: Run dev setup and Deepseek tests
working-directory: .
run: |
./scripts/run_model_tests.sh deepseek
# Run tests for Fireworks
test-fireworks:
if: false # Disable fireworks tests until we get a production account
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.12"]
fail-fast: true
env:
FIREWORKS_API_KEY: ${{ secrets.FIREWORKS_API_KEY }}
EXA_API_KEY: ${{ secrets.EXA_API_KEY }}
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: Run dev setup
working-directory: .
run: |
./scripts/dev_setup.sh
- name: Run Fireworks tests
working-directory: .
run: |
source .venv/bin/activate
python -m pytest ./libs/agno/tests/integration/models/fireworks
# Run tests for Groq
test-groq:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.12"]
fail-fast: true
env:
GROQ_API_KEY: ${{ secrets.GROQ_API_KEY }}
EXA_API_KEY: ${{ secrets.EXA_API_KEY }}
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: Run dev setup and Groq tests
working-directory: .
run: |
./scripts/run_model_tests.sh groq
# Run tests for Mistral
test-mistral:
if: false # Disable mistral tests until we get a production account
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.12"]
fail-fast: true
env:
MISTRAL_API_KEY: ${{ secrets.MISTRAL_API_KEY }}
EXA_API_KEY: ${{ secrets.EXA_API_KEY }}
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: Run dev setup and Mistral tests
working-directory: .
run: |
./scripts/run_model_tests.sh mistral
# Run tests for Nvidia
test-nvidia:
if: false # Disable nvidia tests until we get a test account
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.12"]
fail-fast: true
env:
NVIDIA_API_KEY: ${{ secrets.NVIDIA_API_KEY }}
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: Run dev setup and Nvidia tests
working-directory: .
run: |
./scripts/run_model_tests.sh nvidia
# Run tests for OpenRouter
test-openrouter:
if: false # Disable openrouter tests until we get a test account
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.12"]
fail-fast: true
env:
OPENROUTER_API_KEY: ${{ secrets.OPENROUTER_API_KEY }}
EXA_API_KEY: ${{ secrets.EXA_API_KEY }}
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: Run dev setup and OpenRouter tests
working-directory: .
run: |
./scripts/run_model_tests.sh openrouter
# Run tests for Perplexity
test-perplexity:
if: false # Disable perplexity tests until we get a production account
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.12"]
fail-fast: true
env:
PERPLEXITY_API_KEY: ${{ secrets.PERPLEXITY_API_KEY }}
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: Run dev setup and Perplexity tests
working-directory: .
run: |
./scripts/run_model_tests.sh perplexity
# Run tests for SambaNova
test-sambanova:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.12"]
fail-fast: true
env:
SAMBANOVA_API_KEY: ${{ secrets.SAMBANOVA_API_KEY }}
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: Run dev setup and SambaNova tests
working-directory: .
run: |
./scripts/run_model_tests.sh sambanova
# Run tests for Together
test-together:
if: false # The tests take too long to run
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.12"]
fail-fast: true
env:
TOGETHER_API_KEY: ${{ secrets.TOGETHER_API_KEY }}
EXA_API_KEY: ${{ secrets.EXA_API_KEY }}
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: Run dev setup and Together tests
working-directory: .
run: |
./scripts/run_model_tests.sh together
# Run tests for xAI
test-xai:
runs-on: ubuntu-latest
if: false # Disable xAI tests until we get a test account
strategy:
matrix:
python-version: ["3.12"]
fail-fast: true
env:
XAI_API_KEY: ${{ secrets.XAI_API_KEY }}
EXA_API_KEY: ${{ secrets.EXA_API_KEY }}
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: Run dev setup and XAI tests
working-directory: .
run: |
./scripts/run_model_tests.sh xai
# Run tests for v0
test-v0:
if: false # We don't have credits
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.12"]
fail-fast: true
env:
V0_API_KEY: ${{ secrets.V0_API_KEY }}
EXA_API_KEY: ${{ secrets.EXA_API_KEY }}
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: Run dev setup and Vercel V0 tests
working-directory: .
run: |
./scripts/run_model_tests.sh vercel
test-ibm-watsonx:
if: false # Our account is not working
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.12"]
fail-fast: true
env:
IBM_WATSONX_PROJECT_ID: ${{ secrets.IBM_WATSONX_PROJECT_ID }}
IBM_WATSONX_API_KEY: ${{ secrets.IBM_WATSONX_API_KEY }}
IBM_WATSONX_URL: ${{ secrets.IBM_WATSONX_URL }}
EXA_API_KEY: ${{ secrets.EXA_API_KEY }}
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: Run dev setup and IBM-WatsonX tests
working-directory: .
run: |
./scripts/run_model_tests.sh ibm
# Run tests for Cerebras
test-cerebras:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.12"]
fail-fast: true # Stop all matrix jobs if one fails
env:
CEREBRAS_API_KEY: ${{ secrets.CEREBRAS_API_KEY }}
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: Run dev setup and Cerebras tests
working-directory: .
run: |
./scripts/run_model_tests.sh cerebras
test-deepinfra:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.12"]
fail-fast: true
env:
DEEPINFRA_API_KEY: ${{ secrets.DEEPINFRA_API_KEY }}
EXA_API_KEY: ${{ secrets.EXA_API_KEY }}
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: Run dev setup and Deepinfra tests
working-directory: .
run: |
./scripts/run_model_tests.sh deepinfra
# Run tests for AI/ML API
test-aimlapi:
if: false # We need more credits
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.12"]
fail-fast: true
env:
AIMLAPI_API_KEY: ${{ secrets.AIMLAPI_API_KEY }}
EXA_API_KEY: ${{ secrets.EXA_API_KEY }}
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: Run dev setup
working-directory: .
run: |
./scripts/dev_setup.sh
- name: Run AImlAPI tests
working-directory: .
run: |
source .venv/bin/activate
python -m pytest ./libs/agno/tests/integration/models/aimlapi
# Run tests for DashScope
test-dashscope:
if: false # We need more credits
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.12"]
fail-fast: true
env:
DASHSCOPE_API_KEY: ${{ secrets.DASHSCOPE_API_KEY }}
EXA_API_KEY: ${{ secrets.EXA_API_KEY }}
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: Run dev setup
working-directory: .
run: |
./scripts/dev_setup.sh
- name: Run AImlAPI tests
working-directory: .
run: |
source .venv/bin/activate
python -m pytest ./libs/agno/tests/integration/models/dashscope
# Run tests for LangDB
test-langdb:
if: false # We do not have a company account
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.12"]
fail-fast: true
env:
LANGDB_API_KEY: ${{ secrets.LANGDB_API_KEY }}
LANGDB_PROJECT_ID: ${{ secrets.LANGDB_PROJECT_ID }}
EXA_API_KEY: ${{ secrets.EXA_API_KEY }}
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: Run dev setup
working-directory: .
run: |
./scripts/dev_setup.sh
- name: Run LangDB tests
working-directory: .
run: |
source .venv/bin/activate
python -m pytest ./libs/agno/tests/integration/models/langdb
test-agents:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.12"]
fail-fast: true # Stop all matrix jobs if one fails
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }}
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: Run dev setup
working-directory: .
run: |
./scripts/dev_setup.sh
- name: Run agent integration tests
working-directory: .
env:
AGNO_TELEMETRY: false
run: |
source .venv/bin/activate
python -m pytest ./libs/agno/tests/integration/agent
test-teams:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.12"]
fail-fast: true # Stop all matrix jobs if one fails
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }}
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: Run dev setup
working-directory: .
run: |
./scripts/dev_setup.sh
- name: Run teams integration tests
working-directory: .
env:
AGNO_TELEMETRY: false
run: |
source .venv/bin/activate
python -m pytest ./libs/agno/tests/integration/teams
test-workflows:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.12"]
fail-fast: true # Stop all matrix jobs if one fails
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: Run dev setup
working-directory: .
run: |
./scripts/dev_setup.sh
- name: Run workflows integration tests
working-directory: .
env:
AGNO_TELEMETRY: false
run: |
source .venv/bin/activate
python -m pytest ./libs/agno/tests/integration/workflows
test-embedder:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.12"]
fail-fast: true # Stop all matrix jobs if one fails
env:
HUGGINGFACE_API_KEY: ${{ secrets.HUGGINGFACE_API_KEY }}
JINA_API_KEY: ${{ secrets.JINA_API_KEY }}
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: Run dev setup
working-directory: .
run: |
./scripts/dev_setup.sh
- name: Run embedder tests
working-directory: .
env:
AGNO_TELEMETRY: false
run: |
source .venv/bin/activate
python -m pytest ./libs/agno/tests/integration/embedder
test-knowledge-1:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.12"]
fail-fast: true # Stop all matrix jobs if one fails
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: Run dev setup
working-directory: .
run: |
./scripts/dev_setup.sh
- name: Run knowledge integration tests
working-directory: .
env:
AGNO_TELEMETRY: false
run: |
source .venv/bin/activate
python -m pytest ./libs/agno/tests/integration/knowledge/test_csv_knowledge.py \
./libs/agno/tests/integration/knowledge/test_docx_knowledge.py \
./libs/agno/tests/integration/knowledge/test_json_knowledge.py \
./libs/agno/tests/integration/knowledge/test_md_knowledge.py \
./libs/agno/tests/integration/knowledge/test_pdf_knowledge.py \
./libs/agno/tests/integration/knowledge/test_text_knowledge.py
test-knowledge-2:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.12"]
fail-fast: true # Stop all matrix jobs if one fails
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: Run dev setup
working-directory: .
run: |
./scripts/dev_setup.sh
- name: Run knowledge integration tests
working-directory: .
env:
AGNO_TELEMETRY: false
run: |
source .venv/bin/activate
python -m pytest ./libs/agno/tests/integration/knowledge/test_arxiv_knowledge.py \
./libs/agno/tests/integration/knowledge/test_firecrawl_knowledge.py \
./libs/agno/tests/integration/knowledge/test_website_knowledge.py \
./libs/agno/tests/integration/knowledge/test_youtube_knowledge.py
# Run A2A tests (isolated due to dependency conflicts)
test-a2a:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.12"]
fail-fast: true # Stop all matrix jobs if one fails
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: Setup environment for A2A tests (without conflicting deps)
working-directory: .
run: |
VIRTUAL_ENV=.venv uv venv --python 3.12
VIRTUAL_ENV=.venv uv pip install -r ./libs/agno/requirements.txt
VIRTUAL_ENV=.venv uv pip install -e ./libs/agno[dev,os,integration-tests,openai]
VIRTUAL_ENV=.venv uv pip install a2a-sdk
- name: Run A2A integration tests
working-directory: .
env:
AGNO_TELEMETRY: false
run: |
source .venv/bin/activate
pip install a2a-sdk
python -m pytest ./libs/agno/tests/integration/os/interfaces/test_a2a.py
# Run remaining integration tests
test-remaining:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.12"]
fail-fast: true # Stop all matrix jobs if one fails
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: Run dev setup
working-directory: .
run: |
./scripts/dev_setup.sh
- name: Run remaining integration tests
working-directory: .
env:
AGNO_TELEMETRY: false
run: |
source .venv/bin/activate
python -m pytest --ignore=./libs/agno/tests/integration/db --ignore=./libs/agno/tests/integration/models --ignore=./libs/agno/tests/integration/agent --ignore=./libs/agno/tests/integration/knowledge --ignore=./libs/agno/tests/integration/teams --ignore=./libs/agno/tests/integration/embedder --ignore=./libs/agno/tests/integration/workflows --ignore=./libs/agno/tests/integration/workflows_2 --ignore=./libs/agno/tests/integration/os/interfaces/test_a2a.py ./libs/agno/tests/integration