Skip to content

Commit 210cc5e

Browse files
testdocquality available and add basic integration test ci
1 parent 819a8c2 commit 210cc5e

File tree

9 files changed

+419
-402
lines changed

9 files changed

+419
-402
lines changed

.github/workflows/ci.yml renamed to .github/workflows/backend.yml

Lines changed: 40 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -48,55 +48,18 @@ jobs:
4848

4949
- name: Install turbo
5050
run: pnpm add turbo@latest -g
51+
5152
- name: Build
5253
run: turbo build
5354

54-
test:
55-
name: Test
56-
runs-on: ubuntu-latest
57-
needs: build
58-
59-
steps:
60-
- name: Checkout repository
61-
uses: actions/checkout@v4
62-
63-
- name: Setup Node.js
64-
uses: actions/setup-node@v4
65-
with:
66-
node-version: 20
67-
68-
- name: Setup pnpm
69-
uses: pnpm/action-setup@v3
70-
with:
71-
version: 9.10.0
72-
73-
- name: Get pnpm store directory
74-
id: pnpm-cache
75-
shell: bash
76-
run: |
77-
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
78-
79-
- name: Setup pnpm cache
80-
uses: actions/cache@v4
81-
with:
82-
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
83-
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
84-
restore-keys: |
85-
${{ runner.os }}-pnpm-store-
86-
87-
- name: Install dependencies
88-
run: pnpm install
89-
90-
- name: Install turbo
91-
run: pnpm add turbo@latest -g
92-
9355
- name: Create config file
9456
run: |
9557
mkdir -p packages/agents
9658
cat > packages/agents/config.toml << 'EOL'
9759
[API_KEYS]
9860
OPENAI = "${{ secrets.OPENAI_API_KEY }}"
9961
ANTHROPIC = "${{ secrets.ANTHROPIC_API_KEY }}"
62+
GEMINI = "${{ secrets.GEMINI_API_KEY }}"
10063
10164
[VECTOR_DB]
10265
POSTGRES_USER = "${{ secrets.POSTGRES_USER }}"
@@ -110,16 +73,16 @@ jobs:
11073
SIMILARITY_MEASURE = "cosine"
11174
11275
[HOSTED_MODE]
113-
DEFAULT_CHAT_PROVIDER = "${{ secrets.DEFAULT_CHAT_PROVIDER }}"
114-
DEFAULT_CHAT_MODEL = "${{ secrets.DEFAULT_CHAT_MODEL }}"
115-
DEFAULT_FAST_CHAT_PROVIDER = "${{ secrets.DEFAULT_FAST_CHAT_PROVIDER }}"
116-
DEFAULT_FAST_CHAT_MODEL = "${{ secrets.DEFAULT_FAST_CHAT_MODEL }}"
117-
DEFAULT_EMBEDDING_PROVIDER = "${{ secrets.DEFAULT_EMBEDDING_PROVIDER }}"
118-
DEFAULT_EMBEDDING_MODEL = "${{ secrets.DEFAULT_EMBEDDING_MODEL }}"
76+
DEFAULT_CHAT_PROVIDER = "anthropic"
77+
DEFAULT_CHAT_MODEL = "Claude 3.5 Sonnet"
78+
DEFAULT_FAST_CHAT_PROVIDER = "anthropic"
79+
DEFAULT_FAST_CHAT_MODEL = "Claude 3.5 Sonnet"
80+
DEFAULT_EMBEDDING_PROVIDER = "openai"
81+
DEFAULT_EMBEDDING_MODEL = "Text embedding 3 large"
11982
12083
[VERSIONS]
121-
STARKNET_FOUNDRY = "${{ secrets.STARKNET_FOUNDRY_VERSION }}"
122-
SCARB = "${{ secrets.SCARB_VERSION }}"
84+
STARKNET_FOUNDRY = "0.37.0"
85+
SCARB = "2.9.2"
12386
EOL
12487
12588
- name: Create env file
@@ -135,3 +98,33 @@ jobs:
13598
13699
- name: Run tests
137100
run: turbo test
101+
102+
- name: Build docker image
103+
run: docker build -t cairo-coder-backend:${{ github.sha }} -f backend.dockerfile .
104+
105+
- name: Integration docker connection test with Docker Compose
106+
run: |
107+
docker-compose up -d postgres backend
108+
echo "Waiting for services to be ready..."
109+
sleep 20
110+
111+
chmod +x ./scripts/integration-tests.sh
112+
chmod +x ./scripts/test-chat-completions.sh
113+
114+
echo -e "\n=== Running basic integration tests ==="
115+
./scripts/integration-tests.sh
116+
INTEGRATION_RESULT=$?
117+
118+
echo -e "\n=== Running database connection test via chat/completions endpoint ==="
119+
./scripts/test-chat-completions.sh
120+
DB_CONNECTION_RESULT=$?
121+
122+
if [ $INTEGRATION_RESULT -ne 0 ] || [ $DB_CONNECTION_RESULT -ne 0 ]; then
123+
echo "❌ Integration tests failed!"
124+
exit 1
125+
else
126+
echo "✅ All integration tests passed!"
127+
fi
128+
129+
# - name: Push docker image
130+
# run: docker push ${{ github.repository }}:${{ github.sha }}

.github/workflows/generate-embeddings.yml renamed to .github/workflows/ingester.yml

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ jobs:
7171
[API_KEYS]
7272
OPENAI = "${{ secrets.OPENAI_API_KEY }}"
7373
ANTHROPIC = "${{ secrets.ANTHROPIC_API_KEY }}"
74+
GEMINI = "${{ secrets.GEMINI_API_KEY }}"
7475
7576
[VECTOR_DB]
7677
POSTGRES_USER = "${{ secrets.POSTGRES_USER }}"
@@ -84,16 +85,16 @@ jobs:
8485
SIMILARITY_MEASURE = "cosine"
8586
8687
[HOSTED_MODE]
87-
DEFAULT_CHAT_PROVIDER = "${{ secrets.DEFAULT_CHAT_PROVIDER }}"
88-
DEFAULT_CHAT_MODEL = "${{ secrets.DEFAULT_CHAT_MODEL }}"
89-
DEFAULT_FAST_CHAT_PROVIDER = "${{ secrets.DEFAULT_FAST_CHAT_PROVIDER }}"
90-
DEFAULT_FAST_CHAT_MODEL = "${{ secrets.DEFAULT_FAST_CHAT_MODEL }}"
91-
DEFAULT_EMBEDDING_PROVIDER = "${{ secrets.DEFAULT_EMBEDDING_PROVIDER }}"
92-
DEFAULT_EMBEDDING_MODEL = "${{ secrets.DEFAULT_EMBEDDING_MODEL }}"
88+
DEFAULT_CHAT_PROVIDER = "anthropic"
89+
DEFAULT_CHAT_MODEL = "Claude 3.5 Sonnet"
90+
DEFAULT_FAST_CHAT_PROVIDER = "anthropic"
91+
DEFAULT_FAST_CHAT_MODEL = "Claude 3.5 Sonnet"
92+
DEFAULT_EMBEDDING_PROVIDER = "openai"
93+
DEFAULT_EMBEDDING_MODEL = "Text embedding 3 large"
9394
9495
[VERSIONS]
95-
STARKNET_FOUNDRY = "${{ secrets.STARKNET_FOUNDRY_VERSION }}"
96-
SCARB = "${{ secrets.SCARB_VERSION }}"
96+
STARKNET_FOUNDRY = "0.37.0"
97+
SCARB = "2.9.2"
9798
EOL
9899
99100
- name: Create env file

backend.dockerfile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@ FROM node:23.7-bullseye-slim
22

33
WORKDIR /app
44

5+
# Installation de ping pour tester la connectivité réseau
6+
RUN apt-get update && apt-get install -y iputils-ping && rm -rf /var/lib/apt/lists/*
7+
58
# Copy root workspace files
69
COPY pnpm-workspace.yaml ./
710
COPY package.json ./

docker-compose.yml

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
1-
version: '3.8'
2-
31
services:
42
postgres:
53
image: pgvector/pgvector:pg17
6-
container_name: "postgresql"
4+
container_name: 'postgresql'
75
shm_size: 1g
86
env_file:
97
- .env
@@ -16,6 +14,7 @@ services:
1614
- cairo_coder
1715

1816
backend:
17+
container_name: 'backend'
1918
build:
2019
context: .
2120
dockerfile: backend.dockerfile
@@ -29,12 +28,12 @@ services:
2928
restart: unless-stopped
3029
networks:
3130
- cairo_coder
32-
31+
3332
ingester:
3433
build:
3534
context: .
3635
dockerfile: ingest.dockerfile
37-
profiles: ["ingester"]
36+
profiles: ['ingester']
3837
depends_on:
3938
postgres:
4039
condition: service_started
@@ -46,4 +45,3 @@ networks:
4645

4746
volumes:
4847
postgres_data:
49-

packages/agents/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
"scripts": {
66
"build": "tsc -p tsconfig.json",
77
"test": "jest",
8-
"test-doc-quality": "ts-node src/testDocQuality.ts"
8+
"test-doc-quality": "ts-node src/tests/testDocQuality.ts"
99
},
1010
"dependencies": {
1111
"@iarna/toml": "^2.2.5",

0 commit comments

Comments
 (0)