Skip to content

Commit 62839f0

Browse files
Resolve merge conflicts with main branch
- Take main versions of workflow files (build-images.yml, deploy-kubernetes.yml, deploy_aws.yml, studymate-rancher-cicd.yml.disabled) - Take main versions of rag.py and infra/helm/values.yaml - Keep modified ci-tests.yml with GenAI Service Tests removed
2 parents f720fc4 + 915ecc8 commit 62839f0

File tree

7 files changed

+131
-184
lines changed

7 files changed

+131
-184
lines changed

.github/workflows/build-images.yml

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -51,41 +51,31 @@ jobs:
5151
docker push ghcr.io/aet-devops25/team-3/auth-service:${COMMIT_SHA}
5252
docker tag ghcr.io/aet-devops25/team-3/auth-service:${COMMIT_SHA} ghcr.io/aet-devops25/team-3/auth-service:latest
5353
docker push ghcr.io/aet-devops25/team-3/auth-service:latest
54-
docker tag ghcr.io/aet-devops25/team-3/auth-service:${COMMIT_SHA} ghcr.io/aet-devops25/team-3/auth-service:k8s-latest
55-
docker push ghcr.io/aet-devops25/team-3/auth-service:k8s-latest
5654
5755
- name: Build and push document-service
5856
run: |
5957
docker build --platform linux/amd64 -t ghcr.io/aet-devops25/team-3/document-service:${COMMIT_SHA} ./server/document-service
6058
docker push ghcr.io/aet-devops25/team-3/document-service:${COMMIT_SHA}
6159
docker tag ghcr.io/aet-devops25/team-3/document-service:${COMMIT_SHA} ghcr.io/aet-devops25/team-3/document-service:latest
6260
docker push ghcr.io/aet-devops25/team-3/document-service:latest
63-
docker tag ghcr.io/aet-devops25/team-3/document-service:${COMMIT_SHA} ghcr.io/aet-devops25/team-3/document-service:k8s-latest
64-
docker push ghcr.io/aet-devops25/team-3/document-service:k8s-latest
6561
6662
- name: Build and push genai-service
6763
run: |
6864
docker build --platform linux/amd64 -t ghcr.io/aet-devops25/team-3/genai-service:${COMMIT_SHA} ./server/genai-service
6965
docker push ghcr.io/aet-devops25/team-3/genai-service:${COMMIT_SHA}
7066
docker tag ghcr.io/aet-devops25/team-3/genai-service:${COMMIT_SHA} ghcr.io/aet-devops25/team-3/genai-service:latest
7167
docker push ghcr.io/aet-devops25/team-3/genai-service:latest
72-
docker tag ghcr.io/aet-devops25/team-3/genai-service:${COMMIT_SHA} ghcr.io/aet-devops25/team-3/genai-service:k8s-latest
73-
docker push ghcr.io/aet-devops25/team-3/genai-service:k8s-latest
7468
7569
- name: Build and push eureka-server
7670
run: |
7771
docker build --platform linux/amd64 -t ghcr.io/aet-devops25/team-3/eureka-server:${COMMIT_SHA} ./server/eureka-server
7872
docker push ghcr.io/aet-devops25/team-3/eureka-server:${COMMIT_SHA}
7973
docker tag ghcr.io/aet-devops25/team-3/eureka-server:${COMMIT_SHA} ghcr.io/aet-devops25/team-3/eureka-server:latest
8074
docker push ghcr.io/aet-devops25/team-3/eureka-server:latest
81-
docker tag ghcr.io/aet-devops25/team-3/eureka-server:${COMMIT_SHA} ghcr.io/aet-devops25/team-3/eureka-server:k8s-latest
82-
docker push ghcr.io/aet-devops25/team-3/eureka-server:k8s-latest
8375
8476
- name: Build and push genai
8577
run: |
8678
docker build --platform linux/amd64 -t ghcr.io/aet-devops25/team-3/genai:${COMMIT_SHA} ./genAi
8779
docker push ghcr.io/aet-devops25/team-3/genai:${COMMIT_SHA}
8880
docker tag ghcr.io/aet-devops25/team-3/genai:${COMMIT_SHA} ghcr.io/aet-devops25/team-3/genai:latest
89-
docker push ghcr.io/aet-devops25/team-3/genai:latest
90-
docker tag ghcr.io/aet-devops25/team-3/genai:${COMMIT_SHA} ghcr.io/aet-devops25/team-3/genai:k8s-latest
91-
docker push ghcr.io/aet-devops25/team-3/genai:k8s-latest
81+
docker push ghcr.io/aet-devops25/team-3/genai:latest

.github/workflows/ci-tests.yml

Lines changed: 2 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -76,80 +76,6 @@ jobs:
7676
client/coverage/
7777
client/test-results.xml
7878
79-
# Job 2: GenAI Service Tests (Python/FastAPI)
80-
genai-tests:
81-
name: GenAI Service Tests
82-
runs-on: ubuntu-latest
83-
timeout-minutes: 20
84-
85-
services:
86-
# Start Weaviate for integration tests
87-
weaviate:
88-
image: cr.weaviate.io/semitechnologies/weaviate:1.30.3
89-
ports:
90-
- 8080:8080
91-
env:
92-
AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: 'true'
93-
QUERY_DEFAULTS_LIMIT: 25
94-
PERSISTENCE_DATA_PATH: '/var/lib/weaviate'
95-
96-
steps:
97-
- name: Checkout code
98-
uses: actions/checkout@v4
99-
100-
- name: Setup Python
101-
uses: actions/setup-python@v5
102-
with:
103-
python-version: ${{ env.PYTHON_VERSION }}
104-
cache: 'pip'
105-
cache-dependency-path: |
106-
genAi/requirements.txt
107-
genAi/requirements-test.txt
108-
109-
- name: Wait for Weaviate to be ready
110-
run: |
111-
echo "Waiting for Weaviate to start..."
112-
timeout 120 bash -c 'until curl -f http://localhost:8080/v1/.well-known/ready > /dev/null 2>&1; do sleep 5; done' || echo "Weaviate may not be ready, continuing anyway"
113-
114-
- name: Install dependencies
115-
run: |
116-
cd genAi
117-
pip install -r requirements.txt
118-
pip install -r requirements-test.txt
119-
120-
- name: Run code formatting check
121-
run: |
122-
cd genAi
123-
black --check .
124-
125-
- name: Run tests with coverage
126-
env:
127-
OPEN_WEBUI_API_KEY_CHAT: ${{ secrets.OPEN_WEBUI_API_KEY_CHAT || 'test-chat-key' }}
128-
OPEN_WEBUI_API_KEY_GEN: ${{ secrets.OPEN_WEBUI_API_KEY_GEN || 'test-gen-key' }}
129-
WEAVIATE_HOST: localhost
130-
WEAVIATE_PORT: 8080
131-
run: |
132-
cd genAi
133-
python -m pytest --cov=. --cov-report=xml --cov-report=html --junitxml=test-results.xml -v
134-
135-
- name: Upload coverage to Codecov
136-
uses: codecov/codecov-action@v4
137-
with:
138-
file: ./genAi/coverage.xml
139-
flags: genai
140-
name: genai-coverage
141-
fail_ci_if_error: false
142-
143-
- name: Archive test results
144-
uses: actions/upload-artifact@v4
145-
if: always()
146-
with:
147-
name: genai-test-results
148-
path: |
149-
genAi/htmlcov/
150-
genAi/test-results.xml
151-
genAi/coverage.xml
152-
15379
# Job 3: Auth Service Tests (Kotlin/Spring Boot)
15480
auth-service-tests:
15581
name: Auth Service Tests
@@ -267,7 +193,7 @@ jobs:
267193
name: Integration Tests
268194
runs-on: ubuntu-latest
269195
timeout-minutes: 30
270-
needs: [client-tests, genai-tests, auth-service-tests, document-service-tests]
196+
needs: [client-tests, auth-service-tests, document-service-tests]
271197

272198
services:
273199
postgres:
@@ -635,7 +561,7 @@ jobs:
635561
test-summary:
636562
name: Test Summary
637563
runs-on: ubuntu-latest
638-
needs: [client-tests, genai-tests, auth-service-tests, document-service-tests, integration-tests, ai-functionality-tests, error-handling-tests, security-tests]
564+
needs: [client-tests, auth-service-tests, document-service-tests, integration-tests, ai-functionality-tests, error-handling-tests, security-tests]
639565
if: always()
640566

641567
steps:
@@ -656,11 +582,6 @@ jobs:
656582
echo "❌ Client Tests: FAILED" >> test-summary.md
657583
fi
658584
659-
if [ "${{ needs.genai-tests.result }}" = "success" ]; then
660-
echo "✅ GenAI Tests: PASSED" >> test-summary.md
661-
else
662-
echo "❌ GenAI Tests: FAILED" >> test-summary.md
663-
fi
664585
665586
if [ "${{ needs.auth-service-tests.result }}" = "success" ]; then
666587
echo "✅ Auth Service Tests: PASSED" >> test-summary.md

.github/workflows/deploy-kubernetes.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
name: Deploy StudyMate to Kubernetes
1+
name: Deploy to Kubernetes
22

33
on:
44
push:
55
branches: [main]
66
paths:
7-
- 'client/**'
87
- 'server/**'
8+
- 'client/**'
99
- 'genAi/**'
1010
- 'infra/helm/**'
1111
- '.github/workflows/**'
@@ -35,7 +35,7 @@ jobs:
3535
- name: Checkout code
3636
uses: actions/checkout@v4
3737

38-
- name: Setup kubeconfig
38+
- name: Setup Kubernetes tools
3939
run: |
4040
mkdir -p ~/.kube
4141
cat > ~/.kube/config << 'EOF'
@@ -129,7 +129,7 @@ jobs:
129129
--set-string secrets.genai.data.openWebUiApiKeyChat="${{ secrets.OPEN_WEBUI_API_KEY_CHAT }}" \
130130
--set-string secrets.genai.data.openWebUiApiKeyGen="${{ secrets.OPEN_WEBUI_API_KEY_GEN }}" \
131131
--set-string secrets.genai.data.langsmithApiKey="${{ secrets.LANGSMITH_API_KEY }}" \
132-
--wait --timeout=40m
132+
--wait --timeout=10m
133133
134134
- name: Verify deployment
135135
run: |

.github/workflows/deploy_aws.yml

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,92 @@ on:
77

88

99
jobs:
10+
build-and-push:
11+
runs-on: ubuntu-latest
12+
permissions:
13+
contents: read
14+
packages: write
15+
16+
env:
17+
COMMIT_SHA: ${{ github.sha }}
18+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
19+
GITHUB_ACTOR: ${{ github.actor }}
20+
21+
steps:
22+
- name: Checkout code
23+
uses: actions/checkout@v4
24+
25+
- name: Login to GitHub Container Registry
26+
uses: docker/login-action@v3
27+
with:
28+
registry: ghcr.io
29+
username: ${{ github.actor }}
30+
password: ${{ secrets.GITHUB_TOKEN }}
31+
32+
# Build and Push Microservices (using multi-stage Docker builds)
33+
- name: Build and push auth-service
34+
run: |
35+
docker build --platform linux/amd64 -t ghcr.io/aet-devops25/team-3/auth-service:${COMMIT_SHA} ./server/auth-service
36+
docker push ghcr.io/aet-devops25/team-3/auth-service:${COMMIT_SHA}
37+
38+
- name: Build and push document-service
39+
run: |
40+
docker build --platform linux/amd64 -t ghcr.io/aet-devops25/team-3/document-service:${COMMIT_SHA} ./server/document-service
41+
docker push ghcr.io/aet-devops25/team-3/document-service:${COMMIT_SHA}
42+
43+
- name: Build and push genai-service
44+
run: |
45+
docker build --platform linux/amd64 -t ghcr.io/aet-devops25/team-3/genai-service:${COMMIT_SHA} ./server/genai-service
46+
docker push ghcr.io/aet-devops25/team-3/genai-service:${COMMIT_SHA}
47+
48+
- name: Build and push eureka-server
49+
run: |
50+
docker build --platform linux/amd64 -t ghcr.io/aet-devops25/team-3/eureka-server:${COMMIT_SHA} ./server/eureka-server
51+
docker push ghcr.io/aet-devops25/team-3/eureka-server:${COMMIT_SHA}
52+
53+
- name: Build and push client for EC2
54+
run: |
55+
docker build --platform linux/amd64 --build-arg VITE_API_BASE_URL=https://studymate-tum.xyz -t ghcr.io/aet-devops25/team-3/client:ec2-${COMMIT_SHA} ./client
56+
docker push ghcr.io/aet-devops25/team-3/client:ec2-${COMMIT_SHA}
57+
58+
- name: Build and push genai
59+
run: |
60+
docker build --platform linux/amd64 -t ghcr.io/aet-devops25/team-3/genai:${COMMIT_SHA} ./genAi
61+
docker push ghcr.io/aet-devops25/team-3/genai:${COMMIT_SHA}
62+
63+
# Tag and push as latest
64+
- name: Tag and push auth-service as latest
65+
run: |
66+
docker tag ghcr.io/aet-devops25/team-3/auth-service:${COMMIT_SHA} ghcr.io/aet-devops25/team-3/auth-service:latest
67+
docker push ghcr.io/aet-devops25/team-3/auth-service:latest
68+
69+
- name: Tag and push document-service as latest
70+
run: |
71+
docker tag ghcr.io/aet-devops25/team-3/document-service:${COMMIT_SHA} ghcr.io/aet-devops25/team-3/document-service:latest
72+
docker push ghcr.io/aet-devops25/team-3/document-service:latest
73+
74+
- name: Tag and push genai-service as latest
75+
run: |
76+
docker tag ghcr.io/aet-devops25/team-3/genai-service:${COMMIT_SHA} ghcr.io/aet-devops25/team-3/genai-service:latest
77+
docker push ghcr.io/aet-devops25/team-3/genai-service:latest
78+
79+
- name: Tag and push eureka-server as latest
80+
run: |
81+
docker tag ghcr.io/aet-devops25/team-3/eureka-server:${COMMIT_SHA} ghcr.io/aet-devops25/team-3/eureka-server:latest
82+
docker push ghcr.io/aet-devops25/team-3/eureka-server:latest
83+
84+
- name: Tag and push client as ec2-latest
85+
run: |
86+
docker tag ghcr.io/aet-devops25/team-3/client:ec2-${COMMIT_SHA} ghcr.io/aet-devops25/team-3/client:ec2-latest
87+
docker push ghcr.io/aet-devops25/team-3/client:ec2-latest
88+
89+
- name: Tag and push genai as latest
90+
run: |
91+
docker tag ghcr.io/aet-devops25/team-3/genai:${COMMIT_SHA} ghcr.io/aet-devops25/team-3/genai:latest
92+
docker push ghcr.io/aet-devops25/team-3/genai:latest
93+
1094
deploy-aws:
95+
needs: build-and-push
1196
runs-on: ubuntu-latest
1297
env:
1398
COMMIT_SHA: ${{ github.sha }}

.github/workflows/studymate-rancher-cicd.yml.disabled

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ on:
44
push:
55
paths:
66
- 'client/**'
7-
- 'server/**'
7+
- 'microservices/**'
88
- 'genAi/**'
99
- 'infra/helm/**'
1010
- 'docker-compose*.yml'
@@ -52,7 +52,7 @@ jobs:
5252
run: |
5353
echo "🧪 Testing Kotlin microservices..."
5454
# Test auth-service
55-
cd server/auth-service
55+
cd microservices/auth-service
5656
./gradlew test --no-daemon || echo "⚠️ Auth service tests failed (continuing)"
5757

5858
# Test document-service
@@ -133,8 +133,8 @@ jobs:
133133
- name: Build and Push Auth Service Image
134134
uses: docker/build-push-action@v5
135135
with:
136-
context: ./server/auth-service
137-
file: ./server/auth-service/Dockerfile
136+
context: ./microservices/auth-service
137+
file: ./microservices/auth-service/Dockerfile
138138
platforms: linux/amd64,linux/arm64
139139
push: true
140140
tags: ${{ env.REGISTRY }}/${{ github.repository }}/${{ env.IMAGE_NAME_PREFIX }}-auth:latest,${{ env.REGISTRY }}/${{ github.repository }}/${{ env.IMAGE_NAME_PREFIX }}-auth:sha-${{ github.sha }}
@@ -143,8 +143,8 @@ jobs:
143143
- name: Build and Push Document Service Image
144144
uses: docker/build-push-action@v5
145145
with:
146-
context: ./server/document-service
147-
file: ./server/document-service/Dockerfile
146+
context: ./microservices/document-service
147+
file: ./microservices/document-service/Dockerfile
148148
platforms: linux/amd64,linux/arm64
149149
push: true
150150
tags: ${{ env.REGISTRY }}/${{ github.repository }}/${{ env.IMAGE_NAME_PREFIX }}-document:latest,${{ env.REGISTRY }}/${{ github.repository }}/${{ env.IMAGE_NAME_PREFIX }}-document:sha-${{ github.sha }}
@@ -153,8 +153,8 @@ jobs:
153153
- name: Build and Push GenAI Service Image
154154
uses: docker/build-push-action@v5
155155
with:
156-
context: ./server/genai-service
157-
file: ./server/genai-service/Dockerfile
156+
context: ./microservices/genai-service
157+
file: ./microservices/genai-service/Dockerfile
158158
platforms: linux/amd64,linux/arm64
159159
push: true
160160
tags: ${{ env.REGISTRY }}/${{ github.repository }}/${{ env.IMAGE_NAME_PREFIX }}-genai:latest,${{ env.REGISTRY }}/${{ github.repository }}/${{ env.IMAGE_NAME_PREFIX }}-genai:sha-${{ github.sha }}

0 commit comments

Comments
 (0)