name: Run All pytest Tests env: OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} COMPOSIO_API_KEY: ${{ secrets.COMPOSIO_API_KEY }} on: push: branches: [ main ] pull_request: branches: [ main ] jobs: test: runs-on: ubuntu-latest timeout-minutes: 15 services: qdrant: image: qdrant/qdrant ports: - 6333:6333 steps: - name: Checkout uses: actions/checkout@v4 - name: Build and run container run: bash db/run_postgres.sh - name: "Setup Python, Poetry and Dependencies" uses: packetcoders/action-setup-cache-python-poetry@main with: python-version: "3.12" poetry-version: "1.8.2" install-args: "-E dev -E postgres -E milvus -E external-tools -E tests" - name: Initialize credentials run: poetry run letta quickstart --backend openai - name: Run tools tests env: LETTA_PG_PORT: 8888 LETTA_PG_USER: letta LETTA_PG_PASSWORD: letta LETTA_PG_DB: letta LETTA_PG_HOST: localhost LETTA_SERVER_PASS: test_server_token run: | poetry run pytest -s -vv tests/test_tools.py - name: Run tests with pytest env: LETTA_PG_PORT: 8888 LETTA_PG_USER: letta LETTA_PG_PASSWORD: letta LETTA_PG_HOST: localhost LETTA_PG_DB: letta LETTA_SERVER_PASS: test_server_token PYTHONPATH: ${{ github.workspace }}:${{ env.PYTHONPATH }} run: | poetry run pytest -s -vv -k "not test_tools.py and not test_concurrent_connections.py and not test_quickstart and not test_endpoints and not test_storage and not test_server and not test_openai_client" tests - name: Run server tests env: LETTA_PG_PORT: 8888 LETTA_PG_USER: letta LETTA_PG_PASSWORD: letta LETTA_PG_DB: letta LETTA_PG_HOST: localhost LETTA_SERVER_PASS: test_server_token run: | poetry run pytest -s -vv tests/test_server.py