This commit is contained in:
Suhani 2026-08-26 03:58:08 +05:30 committed by GitHub
commit cffe26145f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

62
.github/workflows/ci-python.yml vendored Normal file
View file

@ -0,0 +1,62 @@
name: CI - Python SDK Tests
on:
pull_request:
paths:
- "packages/agent-framework-python/**"
- "packages/openai-sdk-python/**"
- "packages/cartesia-sdk-python/**"
- "packages/pipecat-sdk-python/**"
- ".github/workflows/ci-python.yml"
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
test:
name: ${{ matrix.package }}
runs-on: ubuntu-latest
timeout-minutes: 15
strategy:
# Report every package, rather than masking the rest behind the first failure.
fail-fast: false
matrix:
include:
# Has a pytest suite and needs its runtime dependencies installed.
- package: agent-framework-python
install: pip install -e . pytest pytest-asyncio
test: pytest
# python-dotenv is a dev-group dependency the test modules import at
# module scope, so it has to be installed alongside pytest.
- package: openai-sdk-python
install: pip install -e . pytest pytest-asyncio python-dotenv
test: pytest
# These suites stub their heavy runtime dependencies (cartesia-line,
# pipecat-ai, loguru) at import time, so they run against the sources
# with nothing installed and need no install step.
- package: cartesia-sdk-python
test: PYTHONPATH=src python -m unittest discover -s tests -v
- package: pipecat-sdk-python
test: PYTHONPATH=src python -m unittest discover -s tests -v
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
# The lowest version these packages declare support for, so a change
# that only works on newer Python is caught here.
python-version: "3.10"
cache: pip
cache-dependency-path: packages/${{ matrix.package }}/pyproject.toml
- name: Install dependencies
if: matrix.install
working-directory: packages/${{ matrix.package }}
run: ${{ matrix.install }}
- name: Run tests
working-directory: packages/${{ matrix.package }}
run: ${{ matrix.test }}