diff --git a/.github/workflows/register-commands-production.yaml b/.github/workflows/register-commands-production.yaml index 161dffdb..1cc8a4ba 100644 --- a/.github/workflows/register-commands-production.yaml +++ b/.github/workflows/register-commands-production.yaml @@ -3,7 +3,36 @@ on: push: branches: main jobs: + Environment-Variables-Check: + runs-on: ubuntu-latest + environment: production + steps: + - uses: actions/checkout@v2 + - run: bash environment-variables-validator.sh + env: + ENV_VAR_NAMES: | + DISCORD_APPLICATION_ID + DISCORD_GUILD_ID + DISCORD_TOKEN + DISCORD_PUBLIC_KEY + CLOUDFLARE_API_TOKEN + CLOUDFLARE_ACCOUNT_ID + BOT_PRIVATE_KEY + RDS_SERVERLESS_PUBLIC_KEY + CRON_JOBS_PUBLIC_KEY + IDENTITY_SERVICE_PUBLIC_KEY + DISCORD_APPLICATION_ID: ${{secrets.DISCORD_APPLICATION_ID}} + DISCORD_GUILD_ID: ${{secrets.DISCORD_GUILD_ID}} + DISCORD_TOKEN: ${{secrets.DISCORD_TOKEN}} + DISCORD_PUBLIC_KEY: ${{secrets.DISCORD_PUBLIC_KEY}} + CLOUDFLARE_API_TOKEN: ${{secrets.CLOUDFLARE_API_TOKEN}} + CLOUDFLARE_ACCOUNT_ID: ${{secrets.CLOUDFLARE_ACCOUNT_ID}} + BOT_PRIVATE_KEY: ${{secrets.BOT_PRIVATE_KEY}} + RDS_SERVERLESS_PUBLIC_KEY: ${{secrets.RDS_SERVERLESS_PUBLIC_KEY}} + CRON_JOBS_PUBLIC_KEY: ${{secrets.CRON_JOBS_PUBLIC_KEY}} + IDENTITY_SERVICE_PUBLIC_KEY: ${{secrets.IDENTITY_SERVICE_PUBLIC_KEY}} Register-Commands: + needs: [Environment-Variables-Check] runs-on: ubuntu-latest environment: production steps: diff --git a/.github/workflows/register-commands-staging.yaml b/.github/workflows/register-commands-staging.yaml index 79b47b12..434d9c3b 100644 --- a/.github/workflows/register-commands-staging.yaml +++ b/.github/workflows/register-commands-staging.yaml @@ -3,7 +3,36 @@ on: push: branches: develop jobs: + Environment-Variables-Check: + runs-on: ubuntu-latest + environment: staging + steps: + - uses: actions/checkout@v2 + - run: bash environment-variables-validator.sh + env: + ENV_VAR_NAMES: | + DISCORD_APPLICATION_ID + DISCORD_GUILD_ID + DISCORD_TOKEN + DISCORD_PUBLIC_KEY + CLOUDFLARE_API_TOKEN + CLOUDFLARE_ACCOUNT_ID + BOT_PRIVATE_KEY + RDS_SERVERLESS_PUBLIC_KEY + CRON_JOBS_PUBLIC_KEY + IDENTITY_SERVICE_PUBLIC_KEY + DISCORD_APPLICATION_ID: ${{secrets.DISCORD_APPLICATION_ID}} + DISCORD_GUILD_ID: ${{secrets.DISCORD_GUILD_ID}} + DISCORD_TOKEN: ${{secrets.DISCORD_TOKEN}} + DISCORD_PUBLIC_KEY: ${{secrets.DISCORD_PUBLIC_KEY}} + CLOUDFLARE_API_TOKEN: ${{secrets.CLOUDFLARE_API_TOKEN}} + CLOUDFLARE_ACCOUNT_ID: ${{secrets.CLOUDFLARE_ACCOUNT_ID}} + BOT_PRIVATE_KEY: ${{secrets.BOT_PRIVATE_KEY}} + RDS_SERVERLESS_PUBLIC_KEY: ${{secrets.RDS_SERVERLESS_PUBLIC_KEY}} + CRON_JOBS_PUBLIC_KEY: ${{secrets.CRON_JOBS_PUBLIC_KEY}} + IDENTITY_SERVICE_PUBLIC_KEY: ${{secrets.IDENTITY_SERVICE_PUBLIC_KEY}} Register-Commands: + needs: [Environment-Variables-Check] runs-on: ubuntu-latest environment: staging steps: diff --git a/environment-variables-validator.sh b/environment-variables-validator.sh new file mode 100644 index 00000000..22067b93 --- /dev/null +++ b/environment-variables-validator.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +for var_name in $ENV_VAR_NAMES; do + # Check if the variable is set in the environment + if [[ -z "${!var_name}" ]]; then + echo "Environment variable $var_name is not set." + exit 1 # Exit with error if any variable is not set + fi +done +echo "All Environment variables are set."