@@ -13,20 +13,34 @@ jobs:
1313 strategy :
1414 fail-fast : false
1515 matrix :
16- os : ["ubuntu-20.04 "]
16+ os : ["ubuntu-latest", "windows-latest", "macos-latest-xlarge", "macos-13 "]
1717 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"
2821 steps :
2922 - 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
3044 - name : Setup python
3145 uses : actions/setup-python@v5
3246 with :
4357 cp .env.sample .env
4458 python ./src/fastapi_app/setup_postgres_database.py
4559 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