branch: externals/vecdb
commit 8730cfe6785b7b1923f5206570a6ee692ec97ff5
Author: Andrew Hyatt <[email protected]>
Commit: Andrew Hyatt <[email protected]>
Add Continuous Integration, setting up postgres, chroma, and qdrant
---
.github/workflows/ci.yaml | 81 +++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 81 insertions(+)
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
new file mode 100644
index 0000000000..778bc07f7c
--- /dev/null
+++ b/.github/workflows/ci.yaml
@@ -0,0 +1,81 @@
+name: CI
+
+on:
+ # Triggers the workflow on push or pull request events but only for the
"main" branch
+ push:
+ branches: [ "main" ]
+ pull_request:
+ branches: [ "*" ]
+
+jobs:
+ fast-tests:
+ runs-on: ubuntu-latest
+ environment: Continuous Integration
+ strategy:
+ matrix:
+ emacs_version:
+ # Add more lines like this if you want to test on different Emacs
versions.
+ - 28.1
+ - 29.4
+
+ services:
+ postgres:
+ image: pgvector/pgvector:pg16
+ env:
+ POSTGRES_USER: postgres
+ POSTGRES_HOST_AUTH_METHOD: trust
+ chromadb:
+ image: chromadb/chroma
+ qdrant:
+ image: qdrant/qdrant
+ steps:
+ - name: Set up Emacs
+ uses: jcs090218/setup-emacs@master
+ with:
+ version: ${{matrix.emacs_version}}
+
+ - name: Install Eldev
+ uses: emacs-eldev/setup-eldev@v1
+
+ - name: Check out the source code
+ uses: actions/checkout@v4
+
+ - name: Byte-compile the project
+ run: |
+ eldev -dtT compile --warnings-as-errors
+
+ - name: Lint the project
+ run: |
+ eldev -p -dtT lint
+
+ - name: Test the project
+ # We don't set up the env variables so no integration tests will be run
+ run: |
+ eldev -p -dtT test
+ integration-tests:
+ runs-on: ubuntu-latest
+ environment: Continuous Integration
+ steps:
+ - name: Set up Emacs
+ uses: jcs090218/setup-emacs@master
+ with:
+ version: 29.4
+
+ - name: Install Eldev
+ uses: emacs-eldev/setup-eldev@v1
+
+ - name: Check out the source code
+ uses: actions/checkout@v4
+
+ - name: Postgres setup
+ # Create the "test" database
+ run: |
+ psql -h localhost -U postgres -c "CREATE DATABASE test;"
+ - name: Test the project
+ env:
+ CHROMA_URL: http://localhost:8000
+ QDRANT_URL: http://localhost:6333
+ PSQL_DB: test
+ PSQL_USERNAME: postgres
+ run: |
+ eldev -p -dtT test