diff --git a/.github/workflows/quick-testing.yml b/.github/workflows/quick-testing.yml index b183b50d..b8e73daa 100644 --- a/.github/workflows/quick-testing.yml +++ b/.github/workflows/quick-testing.yml @@ -43,18 +43,32 @@ jobs: - name: Register a user and check the status code run: | - STATUS_CODE=$(curl -s -o /dev/null -w "%{http_code}" 'http://localhost:3001/api/v1/register' \ - -H 'Accept: */*' \ - -H 'Accept-Language: en-US,en;q=0.9' \ - -H 'Connection: keep-alive' \ - -H 'Content-Type: application/json' \ - --data-raw '{"username":"demo@demo.io","password":"supercoolpassword"}') - if [ "$STATUS_CODE" -eq 200 ]; then - echo "User registration was successful with status code 200." - else - echo "User registration failed with status code $STATUS_CODE." - exit 1 - fi + MAX_RETRIES=30 + RETRY_INTERVAL=2 + + for (( i=1; i<=$MAX_RETRIES; i++ )) + do + STATUS_CODE=$(curl -s -o /dev/null -w "%{http_code}" 'http://localhost:3001/api/v1/register' \ + -H 'Accept: */*' \ + -H 'Accept-Language: en-US,en;q=0.9' \ + -H 'Connection: keep-alive' \ + -H 'Content-Type: application/json' \ + --data-raw '{"username":"demo@demo.io","password":"supercoolpassword"}') + + if [ "$STATUS_CODE" -eq 200 ]; then + echo "User registration was successful with status code 200." + exit 0 + elif [ "$STATUS_CODE" -ne 502 ]; then + echo "User registration failed with status code $STATUS_CODE." + exit 1 + fi + + echo "Received status code 502. Retrying in $RETRY_INTERVAL seconds... ($i/$MAX_RETRIES)" + sleep $RETRY_INTERVAL + done + + echo "User registration failed after $MAX_RETRIES attempts." + exit 1 - name: Get the API key and run a health check run: |