Skip to content

Commit be4d7c0

Browse files
committed
Merge branch 'develop' into feature/get-applications-endpoints
2 parents bf5e559 + 1f39171 commit be4d7c0

5 files changed

Lines changed: 80 additions & 20 deletions

File tree

.github/workflows/deploy.yml

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
name: Deploy
2+
3+
on:
4+
push:
5+
branches:
6+
- develop
7+
- main
8+
workflow_dispatch:
9+
10+
jobs:
11+
build-and-push:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- name: Checkout
15+
uses: actions/checkout@v3
16+
17+
- name: Log in to Docker Registry
18+
if: github.ref == 'refs/heads/main'
19+
uses: docker/login-action@v2
20+
with:
21+
registry: docker.io
22+
username: ${{ secrets.DOCKERHUB_USERNAME }}
23+
password: ${{ secrets.DOCKERHUB_PASSWORD }}
24+
25+
- name: Build diffy-bot-client Image
26+
run: |
27+
docker build -t ${{ secrets.DOCKERHUB_USERNAME }}/diffy-bot-client:latest -f solver-bot/Dockerfile .
28+
29+
- name: Build diffy-bot-server Image
30+
run: |
31+
docker build -t ${{ secrets.DOCKERHUB_USERNAME }}/diffy-bot-server:latest -f solver-common/Dockerfile .
32+
33+
- name: Push diffy-bot-client Image
34+
if: github.ref == 'refs/heads/main'
35+
run: |
36+
docker push ${{ secrets.DOCKERHUB_USERNAME }}/diffy-bot-client:latest
37+
38+
- name: Push diffy-bot-server Image
39+
if: github.ref == 'refs/heads/main'
40+
run: |
41+
docker push ${{ secrets.DOCKERHUB_USERNAME }}/diffy-bot-server:latest
42+
43+
deploy:
44+
needs: build-and-push
45+
runs-on: ubuntu-latest
46+
steps:
47+
- name: Checkout
48+
uses: actions/checkout@v3
49+
- name: Create .env file from secrets
50+
run: |
51+
echo "CLIENT_API_KEY=${{ secrets.CLIENT_API_KEY }}" >> .env
52+
echo "DB_CONNECTION=${{ secrets.DB_CONNECTION }}" >> .env
53+
echo "DB_PORT=${{ secrets.DB_PORT }}" >> .env
54+
echo "DB_DATABASE=${{ secrets.DB_DATABASE }}" >> .env
55+
echo "DB_USERNAME=${{ secrets.DB_USERNAME }}" >> .env
56+
echo "DB_PASSWORD=${{ secrets.DB_PASSWORD }}" >> .env
57+
58+
- name: Run Docker Compose
59+
run: |
60+
docker compose -f docker-compose.yml pull || true
61+
docker compose -f docker-compose.yml up -d

docker-compose.yml

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,34 @@
11
services:
2-
solver-bot:
3-
build:
4-
context: .
5-
dockerfile: solver-bot/Dockerfile
6-
container_name: diffy-bot-client-container
2+
diffy-bot-client:
3+
container_name: diffy-bot-client
74
working_dir: /solver-client
85
env_file:
96
- .env
107
environment:
118
- CLIENT_API_KEY=${CLIENT_API_KEY}
12-
- CLIENT_API_URL=http://solver-common:8080/api/solver
9+
- CLIENT_API_URL=http://diffy-bot-server:8080/api/solver
1310
ports:
1411
- "8001:8000"
1512
volumes:
1613
- ./solver-bot/src:/solver-client/src
14+
- .env:/solver-client/.env
1715
depends_on:
18-
- solver-db
19-
- solver-common
16+
- diffy-bot-db
17+
- diffy-bot-server
2018
networks:
2119
- solver-network
22-
23-
solver-common:
2420
build:
2521
context: .
26-
dockerfile: solver-common/Dockerfile
27-
container_name: diffy-bot-server-container
22+
dockerfile: solver-bot/Dockerfile
23+
24+
diffy-bot-server:
25+
container_name: diffy-bot-server
2826
working_dir: /solver-server
2927
env_file:
3028
- .env
3129
environment:
3230
- DB_CONNECTION=${DB_CONNECTION}
33-
- DB_HOST=diffy-bot-db-container
31+
- DB_HOST=diffy-bot-db
3432
- DB_PORT=${DB_PORT}
3533
- DB_DATABASE=${DB_DATABASE}
3634
- DB_USERNAME=${DB_USERNAME}
@@ -39,14 +37,18 @@ services:
3937
- "8081:8080"
4038
volumes:
4139
- ./solver-common/src:/solver-server/src
40+
- .env:/solver-server/.env
4241
depends_on:
43-
- solver-db
42+
- diffy-bot-db
4443
networks:
4544
- solver-network
45+
build:
46+
context: .
47+
dockerfile: solver-common/Dockerfile
4648

47-
solver-db:
49+
diffy-bot-db:
4850
image: postgres:17.5-alpine
49-
container_name: diffy-bot-db-container
51+
container_name: diffy-bot-db
5052
environment:
5153
POSTGRES_USER: ${DB_USERNAME}
5254
POSTGRES_PASSWORD: ${DB_PASSWORD}

solver-bot/Dockerfile

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ FROM python:3.13.3-slim
33
WORKDIR /solver-client
44

55
COPY solver-bot .
6-
COPY .env .
76

87
RUN pip install --no-cache-dir -r requirements.txt
98

solver-common/Dockerfile

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,12 @@ COPY solver-common/pom.xml .
1111
RUN mvn dependency:go-offline
1212

1313
COPY solver-common .
14-
COPY .env .
1514
RUN mvn clean package -DskipTests -B
1615

1716
FROM openjdk:21-slim
1817

1918
WORKDIR /solver-server
2019

2120
COPY --from=builder /solver-server/target/solver-0.1.0-alpha.jar /solver-server/target/solver-0.1.0-alpha.jar
22-
COPY --from=builder /solver-server/.env /solver-server/.env
2321

2422
CMD ["java", "-jar", "target/solver-0.1.0-alpha.jar"]

solver-common/src/main/java/com/solver/DBService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,7 @@ INSERT INTO results (application_id, data)
225225
}
226226

227227
@Async
228-
@Scheduled(cron = "0 */15 * * * *") // Every 15 minutes
228+
@Scheduled(cron = "0 0 0,12 * * *") // Runs every day at midnight and noon
229229
@Transactional
230230
public CompletableFuture<Void> cleanOldApplications() {
231231
logger.debug("Starting scheduled cleanup of old applications");

0 commit comments

Comments
 (0)