| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- #!/usr/bin/env bash
- env_file_path="docker/.env"
- ngrok_url=""
- command -v ngrok >/dev/null 2>&1 || { echo "[ERROR] ngrok is required to test Preview Environments locally" >&2; exit 1; }
- if [ -f "$env_file_path" ]; then
- env_vars="$(cat "$env_file_path" | grep -v "^#" | sed -r "/^\s*$/d" | sed "s/\#.*//")"
- IFS="="
- serverURLSet=0
- githubAppClientIDSet=0
- githubAppClientSecretSet=0
- githubAppWebhookSecretSet=0
- githubAppNameSet=0
- githubAppIDSet=0
- githubAppSecretPathSet=0
- githubIncomingWebhookSecretSet=0
- while read -r k v; do
- if [[ "$k" == "SERVER_URL" ]]; then
- if [[ "$v" != *"ngrok.io"* ]]; then
- echo "[ERROR] SERVER_URL must be set to an ngrok.io URL."
- exit 1
- fi
- serverURLSet=1
- ngrok_url="$v"
- elif [[ "$k" == "GITHUB_APP_CLIENT_ID" ]]; then
- githubAppClientIDSet=1
- elif [[ "$k" == "GITHUB_APP_CLIENT_SECRET" ]]; then
- githubAppClientSecretSet=1
- elif [[ "$k" == "GITHUB_APP_WEBHOOK_SECRET" ]]; then
- githubAppWebhookSecretSet=1
- elif [[ "$k" == "GITHUB_APP_NAME" ]]; then
- githubAppNameSet=1
- elif [[ "$k" == "GITHUB_APP_ID" ]]; then
- githubAppIDSet=1
- elif [[ "$k" == "GITHUB_APP_SECRET_PATH" ]]; then
- githubAppSecretPathSet=1
- elif [[ "$k" == "GITHUB_INCOMING_WEBHOOK_SECRET" ]]; then
- githubIncomingWebhookSecretSet=1
- fi
- done <<< "$env_vars"
- if [[ "$serverURLSet" == "0" ]]; then
- echo "[ERROR] SERVER_URL must be set to an ngrok.io URL."
- exit 1
- elif [[ "$githubAppClientIDSet" == 0 ]]; then
- echo "[ERROR] GITHUB_APP_CLIENT_ID must be set"
- exit 1
- elif [[ "$githubAppClientSecretSet" == 0 ]]; then
- echo "[ERROR] GITHUB_APP_CLIENT_SECRET must be set"
- exit 1
- elif [[ "$githubAppWebhookSecretSet" == 0 ]]; then
- echo "[ERROR] GITHUB_APP_WEBHOOK_SECRET must be set"
- exit 1
- elif [[ "$githubAppNameSet" == 0 ]]; then
- echo "[ERROR] GITHUB_APP_NAME must be set"
- exit 1
- elif [[ "$githubAppIDSet" == 0 ]]; then
- echo "[ERROR] GITHUB_APP_ID must be set"
- exit 1
- elif [[ "$githubAppSecretPathSet" == 0 ]]; then
- echo "[ERROR] GITHUB_APP_SECRET_PATH must be set"
- exit 1
- elif [[ "$githubIncomingWebhookSecretSet" == 0 ]]; then
- echo "[ERROR] GITHUB_INCOMING_WEBHOOK_SECRET must be set"
- exit 1
- fi
- else
- echo "[ERROR] docker/.env should be set with the required variables"
- exit 1
- fi
- echo "[SUCCESS] All required variables are set. MAKE SURE your GitHub app has all URLs set to $ngrok_url."
|