@@ -13,20 +13,34 @@ jobs:
13
13
strategy :
14
14
fail-fast : false
15
15
matrix :
16
- os : ["ubuntu-20.04 "]
16
+ os : ["ubuntu-latest", "windows-latest", "macos-latest-xlarge", "macos-13 "]
17
17
python_version : ["3.10", "3.11", "3.12"]
18
- services :
19
- postgres :
20
- image : pgvector/pgvector:pg16
21
- env :
22
- POSTGRES_USER : admin
23
- POSTGRES_PASSWORD : postgres
24
- ports :
25
- - 5432:5432
26
- # needed because the postgres container does not provide a healthcheck
27
- options : --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
18
+ exclude :
19
+ - os : macos-latest-xlarge
20
+ python_version : " 3.10"
28
21
steps :
29
22
- uses : actions/checkout@v4
23
+ - name : Check for MacOS Runner
24
+ if : matrix.os == 'macos-latest-xlarge'
25
+ run : brew install postgresql@14
26
+ - name : Install pgvector on Windows using install-pgvector.bat
27
+ if : matrix.os == 'windows-latest'
28
+ shell : cmd
29
+ run : .github\workflows\install-pgvector.bat
30
+ - name : Install PostgreSQL development libraries
31
+ if : matrix.os == 'ubuntu-latest'
32
+ run : |
33
+ sudo apt update
34
+ sudo apt install postgresql-server-dev-14
35
+ - name : Setup postgres
36
+ uses : ikalnytskyi/action-setup-postgres@v6
37
+ with :
38
+ username : admin
39
+ password : postgres
40
+ database : postgres
41
+ - name : Install pgvector on MacOS/Linux using install-pgvector.sh
42
+ if : matrix.os != 'windows-latest'
43
+ run : .github/workflows/install-pgvector.sh
30
44
- name : Setup python
31
45
uses : actions/setup-python@v5
32
46
with :
43
57
cp .env.sample .env
44
58
python ./src/fastapi_app/setup_postgres_database.py
45
59
python ./src/fastapi_app/setup_postgres_seeddata.py
60
+ - name : Setup node
61
+ uses : actions/setup-node@v4
62
+ with :
63
+ node-version : 18
64
+ - name : Build frontend
65
+ run : |
66
+ cd ./src/frontend
67
+ npm install
68
+ npm run build
0 commit comments