supermemory/.github/workflows/ci-python.yml
Dhravya Shah 93fe02056c chore(ci): add Python SDK pytest workflow
Run pytest for openai-sdk-python, agent-framework, cartesia, and pipecat
packages on PRs touching those paths.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-07 19:39:39 -07:00

105 lines
2.6 KiB
YAML

name: CI - Python SDKs
on:
pull_request:
paths:
- "packages/agent-framework-python/**"
- "packages/cartesia-sdk-python/**"
- "packages/openai-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:
agent-framework-python:
name: agent-framework-python
runs-on: ubuntu-latest
timeout-minutes: 15
defaults:
run:
working-directory: packages/agent-framework-python
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install package and test dependencies
run: |
pip install -e .
pip install pytest pytest-asyncio
- name: Run tests
run: pytest
openai-sdk-python:
name: openai-sdk-python
runs-on: ubuntu-latest
timeout-minutes: 15
defaults:
run:
working-directory: packages/openai-sdk-python
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install package and test dependencies
run: |
pip install -e .
pip install pytest pytest-asyncio python-dotenv
- name: Run tests
run: pytest
cartesia-sdk-python:
name: cartesia-sdk-python
runs-on: ubuntu-latest
timeout-minutes: 5
defaults:
run:
working-directory: packages/cartesia-sdk-python
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
# Suite stubs cartesia-line / loguru / pydantic at import time, so it
# runs against sources with nothing installed.
- name: Run tests
run: PYTHONPATH=src python -m unittest discover -s tests -v
pipecat-sdk-python:
name: pipecat-sdk-python
runs-on: ubuntu-latest
timeout-minutes: 5
defaults:
run:
working-directory: packages/pipecat-sdk-python
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
# Suite stubs pipecat-ai / loguru / pydantic at import time, so it
# runs against sources with nothing installed.
- name: Run tests
run: PYTHONPATH=src python -m unittest discover -s tests -v