From ac89413afa47bda858eafe4e6a6d0b65d185dec1 Mon Sep 17 00:00:00 2001 From: Sarah Wooders Date: Wed, 27 Dec 2023 13:29:10 +0400 Subject: [PATCH] ci: Run tests using postgres docker container (#715) * use postgres docker for tests * checkout repo * add checkout * remove secrets --- .github/workflows/tests.yml | 17 +++++++++++------ db/run_postgres.sh | 10 ++++++++++ 2 files changed, 21 insertions(+), 6 deletions(-) create mode 100644 db/run_postgres.sh diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 01967b26..80e5c674 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -16,13 +16,17 @@ jobs: runs-on: ubuntu-latest env: - PGVECTOR_TEST_DB_URL: ${{ secrets.PGVECTOR_TEST_DB_URL }} + PGVECTOR_TEST_DB_URL: postgresql+pg8000://memgpt:memgpt@localhost:8888/memgpt OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} timeout-minutes: 5 steps: - - uses: actions/checkout@v1 + - name: Checkout + uses: actions/checkout@v2 + + - name: Build and run container + run: bash db/run_postgres.sh - name: Set up Python uses: actions/setup-python@v4 @@ -39,14 +43,15 @@ jobs: - name: Install dependencies using Poetry env: - PGVECTOR_TEST_DB_URL: ${{ secrets.PGVECTOR_TEST_DB_URL }} + PGVECTOR_TEST_DB_URL: postgresql+pg8000://memgpt:memgpt@localhost:8888/memgpt + OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} run: | poetry install -E dev -E postgres -E local -E server - name: Set Poetry config env: - PGVECTOR_TEST_DB_URL: ${{ secrets.PGVECTOR_TEST_DB_URL }} + PGVECTOR_TEST_DB_URL: postgresql+pg8000://memgpt:memgpt@localhost:8888/memgpt OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} run: | poetry config virtualenvs.in-project false @@ -54,7 +59,7 @@ jobs: - name: Run tests with pytest env: - PGVECTOR_TEST_DB_URL: ${{ secrets.PGVECTOR_TEST_DB_URL }} + PGVECTOR_TEST_DB_URL: postgresql+pg8000://memgpt:memgpt@localhost:8888/memgpt OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} run: | - PGVECTOR_TEST_DB_URL=${{ secrets.PGVECTOR_TEST_DB_URL }} OPENAI_API_KEY=${{ secrets.OPENAI_API_KEY }} poetry run pytest -s -vv tests + PGVECTOR_TEST_DB_URL=postgresql+pg8000://memgpt:memgpt@localhost:8888/memgpt OPENAI_API_KEY=${{ secrets.OPENAI_API_KEY }} poetry run pytest -s -vv tests diff --git a/db/run_postgres.sh b/db/run_postgres.sh new file mode 100644 index 00000000..65021938 --- /dev/null +++ b/db/run_postgres.sh @@ -0,0 +1,10 @@ +# build container +docker build -f db/Dockerfile.simple -t pg-test . + +# run container +docker run -d --rm \ + --name memgpt-db-test \ + -p 8888:5432 \ + -e POSTGRES_PASSWORD=password \ + -v memgpt_db_test:/var/lib/postgresql/data \ + pg-test:latest