name: Run All pytest Tests env: MEMGPT_PGURI: ${{ secrets.MEMGPT_PGURI }} OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} on: push: branches: [ main ] pull_request: branches: [ main ] jobs: test: runs-on: ubuntu-latest timeout-minutes: 15 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.11" poetry-version: "1.7.1" install-args: "--all-extras" - name: Initialize credentials env: OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} run: | if [ -z "$OPENAI_API_KEY" ]; then poetry run memgpt quickstart --backend openai else poetry run memgpt quickstart --backend memgpt fi #- name: Run docker compose server # env: # MEMGPT_PG_DB: memgpt # MEMGPT_PG_USER: memgpt # MEMGPT_PG_PASSWORD: memgpt # MEMGPT_SERVER_PASS: test_server_token # MEMGPT_CONFIG_PATH: configs/server_config.yaml # run: docker compose up -d - name: Run server tests env: MEMGPT_PG_PORT: 8888 OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} MEMGPT_SERVER_PASS: test_server_token run: | poetry run pytest -s -vv tests/test_server.py - name: Run tests with pytest env: MEMGPT_PG_PORT: 8888 OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} MEMGPT_SERVER_PASS: test_server_token PYTHONPATH: ${{ github.workspace }}:${{ env.PYTHONPATH }} run: | poetry run pytest -s -vv -k "not test_storage and not test_server and not test_openai_client" tests - name: Run storage tests env: MEMGPT_PG_PORT: 8888 OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} MEMGPT_SERVER_PASS: test_server_token run: | poetry run pytest -s -vv tests/test_storage.py