From d69f9b314a7843d6763dcb2a7124db4a3c2bf10e Mon Sep 17 00:00:00 2001 From: Movindu Jayathilake Date: Tue, 4 Aug 2026 12:35:01 +0530 Subject: [PATCH 1/3] Add Docker Compose smoke test to CI --- .github/workflows/ci.yml | 40 ++++++++++++++++++++++++++++++++++++---- 1 file changed, 36 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fb0108e..a2ab820 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -2,8 +2,6 @@ name: SyncForge CI on: push: - branches: - - main pull_request: branches: - main @@ -52,8 +50,8 @@ jobs: - name: Build frontend run: npm run build - docker-build: - name: Docker Build + docker-smoke-test: + name: Docker Build and Smoke Test runs-on: ubuntu-latest needs: - backend-tests @@ -68,3 +66,37 @@ jobs: - name: Build Docker images run: docker compose build + + - name: Start Docker Compose stack + run: docker compose up -d + + - name: Wait for backend health + run: | + for i in {1..30}; do + if curl -fsS http://localhost:8080/actuator/health; then + echo "Backend is healthy" + exit 0 + fi + + echo "Waiting for backend..." + sleep 5 + done + + echo "Backend did not become healthy" + docker compose logs syncforge-api + exit 1 + + - name: Check frontend response + run: curl -fsS http://localhost:3000 > /dev/null + + - name: Show running containers + if: always() + run: docker compose ps + + - name: Show logs on failure + if: failure() + run: docker compose logs + + - name: Stop Docker Compose stack + if: always() + run: docker compose down -v From 99d5edb3f0ce7447ddd7e550f70b44a4692d00ba Mon Sep 17 00:00:00 2001 From: Movindu Jayathilake Date: Tue, 4 Aug 2026 21:05:13 +0530 Subject: [PATCH 2/3] Provide JWT config for Docker Compose API startup --- docker-compose.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index 14842c1..48c5571 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -44,6 +44,9 @@ services: restart: unless-stopped ports: - "8080:8080" + environment: + SYNCFORGE_SECURITY_JWT_SECRET: "ci-local-dev-secret-key-12345678901234567890" + SYNCFORGE_SECURITY_JWT_ACCESS_TOKEN_MINUTES: "15" depends_on: mysql: condition: service_healthy From 31cd3fd4e7b0bca9fa3e29330204532628fb7289 Mon Sep 17 00:00:00 2001 From: Movindu Jayathilake Date: Tue, 4 Aug 2026 21:30:59 +0530 Subject: [PATCH 3/3] Add refresh token config for Docker Compose startup --- docker-compose.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/docker-compose.yml b/docker-compose.yml index 48c5571..61fae85 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -47,6 +47,7 @@ services: environment: SYNCFORGE_SECURITY_JWT_SECRET: "ci-local-dev-secret-key-12345678901234567890" SYNCFORGE_SECURITY_JWT_ACCESS_TOKEN_MINUTES: "15" + SYNCFORGE_SECURITY_REFRESH_TOKEN_DAYS: "7" depends_on: mysql: condition: service_healthy