Repository navigation
130 lines (104 loc) · 3.31 KB
/
Copy pathci.yml
File metadata and controls
130 lines (104 loc) · 3.31 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
name: CI
on:
push:
branches:
- main
- HT-setup
- develop
pull_request:
branches:
- main
- HT-setup
- develop
jobs:
validate-windows-dev-scripts:
name: Validate Windows development scripts
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Validate startup failures and isolated process shutdown
shell: powershell
run: ./scripts/test-dev-process.ps1
validate-environment:
name: Validate Workflows and Docker Setup
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install n8n-local-sync
run: |
python -m pip install --upgrade pip
pip install n8n-local-sync
- name: Validate n8n workflows and secrets
run: |
n8n-sync validate
- name: Validate Docker Compose configuration
run: |
cp .env.example .env
AI_SERVICE_TOKEN=ci-compose-validation-only DOCUMENT_INGESTION_TOKEN=ci-validation-placeholder-32-characters docker compose config --quiet
validate-backend:
name: Build & Typecheck Backend (Node.js)
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: "20"
cache: "npm"
cache-dependency-path: backend/package-lock.json
- name: Install dependencies
working-directory: backend
run: npm ci
- name: Build and Typecheck
working-directory: backend
run: npm run build
- name: Test search evaluation output and cleanup
working-directory: backend
run: npm run test:evaluation
validate-frontend:
name: Build Frontend (React + Vite)
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: "20"
cache: "npm"
cache-dependency-path: frontend/package-lock.json
- name: Install dependencies
working-directory: frontend
run: npm ci
- name: Build Production Assets
working-directory: frontend
run: npm run build
validate-ai-service:
name: Validate AI Service Syntax (Python / FastAPI)
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
cache: "pip"
cache-dependency-path: ai-service/requirements.txt
- name: Install dependencies
working-directory: ai-service
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Compile and check syntax
working-directory: ai-service
run: python -m py_compile main.py config.py services/__init__.py services/chunker.py services/ollama_client.py harness.py
- name: Test versioned search evaluation
working-directory: ai-service
run: python -m unittest discover -s tests -p "test_search*.py" -v