supermemory/.github/workflows/ci-python.yml
Suhani 630738f098 ci: cover openai-sdk-python in the Python test workflow
The package was left out because its suite could not be collected against
the current supermemory release, which was issue #1235. That was fixed by
#1236, which caps supermemory to <3.5, so the suite now runs green on main:
24 passed, 11 skipped, with the skips gated on SUPERMEMORY_API_KEY.

python-dotenv is a dev-group dependency imported at module scope by both
test modules, so it is installed alongside pytest rather than relying on
the package dependencies alone.
2026-08-21 13:03:49 +05:30

62 lines
2.2 KiB
YAML

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 }}