From bcdff6eeb0d0e092a45adfa8c11affd49b5a93b0 Mon Sep 17 00:00:00 2001 From: Syed Ali Shahbaz <52925846+alishaz-polymath@users.noreply.github.com> Date: Thu, 28 Sep 2023 16:29:35 +0400 Subject: [PATCH] add health check --- .../workflows/docker-build-push-dockerhub.yml | 28 +++++++++++++++---- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/.github/workflows/docker-build-push-dockerhub.yml b/.github/workflows/docker-build-push-dockerhub.yml index 804c659..18f45c0 100644 --- a/.github/workflows/docker-build-push-dockerhub.yml +++ b/.github/workflows/docker-build-push-dockerhub.yml @@ -123,11 +123,29 @@ jobs: - name: Test runtime run: | - docker run --rm --network stack \ - -e DATABASE_URL=postgresql://${{ env.POSTGRES_USER }}:${{ env.POSTGRES_PASSWORD }}@database/${{ env.POSTGRES_DB }} \ - -e NEXTAUTH_SECRET=${{ env.NEXTAUTH_SECRET }} \ - -e CALENDSO_ENCRYPTION_KEY=${{ env.CALENDSO_ENCRYPTION_KEY }} \ - docker.io/calcom/cal.com:add-runtime-check + docker run --rm --network stack \ + -e DATABASE_URL=postgresql://${{ env.POSTGRES_USER }}:${{ env.POSTGRES_PASSWORD }}@database/${{ env.POSTGRES_DB }} \ + -e NEXTAUTH_SECRET=${{ env.NEXTAUTH_SECRET }} \ + -e CALENDSO_ENCRYPTION_KEY=${{ env.CALENDSO_ENCRYPTION_KEY }} \ + docker.io/calcom/cal.com:add-runtime-check & + + server_pid=$! + + for i in {1..60}; do + echo "Checking server health ($i/60)..." + response=$(curl --silent --fail --write-out "%{http_code}" http://localhost:3000/auth/login) + if [[ "$response" == "200" ]]; then + echo "Server is healthy" + # Now, shutdown the server + kill $server_pid + exit 0 + fi + sleep 1 + done + + echo "Server health check failed" + kill $server_pid + exit 1 env: NEXTAUTH_SECRET: 'EI4qqDpcfdvf4A+0aQEEx8JjHxHSy4uWiZw/F32K+pA=' CALENDSO_ENCRYPTION_KEY: '0zfLtY99wjeLnsM7qsa8xsT+Q0oSgnOL'