Update workflows to match actual Variables and Secrets configuration
- Use Variables for non-sensitive data (NODE_ENV, LOG_LEVEL, URLs, emails) - Use Secrets for sensitive data (passwords, auth tokens) - Add all configured variables: NODE_ENV, LOG_LEVEL, UMAMI analytics - Update verification checks to match actual configuration - Improve debug workflow to show Variables vs Secrets clearly - Fix environment variable mapping in Docker Compose deployment
This commit is contained in:
@@ -86,28 +86,48 @@ jobs:
|
||||
- name: Verify secrets and variables before deployment
|
||||
run: |
|
||||
echo "🔍 Verifying secrets and variables..."
|
||||
if [ -z "${{ secrets.NEXT_PUBLIC_BASE_URL }}" ] && [ -z "${{ vars.NEXT_PUBLIC_BASE_URL }}" ]; then
|
||||
echo "❌ NEXT_PUBLIC_BASE_URL is missing in both secrets and variables!"
|
||||
echo "Please add it to either Settings → Secrets or Settings → Variables"
|
||||
|
||||
# Check Variables
|
||||
if [ -z "${{ vars.NEXT_PUBLIC_BASE_URL }}" ]; then
|
||||
echo "❌ NEXT_PUBLIC_BASE_URL variable is missing!"
|
||||
exit 1
|
||||
fi
|
||||
if [ -z "${{ secrets.MY_EMAIL }}" ]; then
|
||||
echo "❌ MY_EMAIL secret is missing!"
|
||||
if [ -z "${{ vars.MY_EMAIL }}" ]; then
|
||||
echo "❌ MY_EMAIL variable is missing!"
|
||||
exit 1
|
||||
fi
|
||||
if [ -z "${{ vars.MY_INFO_EMAIL }}" ]; then
|
||||
echo "❌ MY_INFO_EMAIL variable is missing!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check Secrets
|
||||
if [ -z "${{ secrets.MY_PASSWORD }}" ]; then
|
||||
echo "❌ MY_PASSWORD secret is missing!"
|
||||
exit 1
|
||||
fi
|
||||
if [ -z "${{ secrets.MY_INFO_PASSWORD }}" ]; then
|
||||
echo "❌ MY_INFO_PASSWORD secret is missing!"
|
||||
exit 1
|
||||
fi
|
||||
if [ -z "${{ secrets.ADMIN_BASIC_AUTH }}" ]; then
|
||||
echo "❌ ADMIN_BASIC_AUTH secret is missing!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "✅ All required secrets and variables are present"
|
||||
|
||||
- name: Start services with Docker Compose
|
||||
run: |
|
||||
docker-compose up -d
|
||||
env:
|
||||
NEXT_PUBLIC_BASE_URL: ${{ secrets.NEXT_PUBLIC_BASE_URL || vars.NEXT_PUBLIC_BASE_URL }}
|
||||
MY_EMAIL: ${{ secrets.MY_EMAIL }}
|
||||
MY_INFO_EMAIL: ${{ secrets.MY_INFO_EMAIL }}
|
||||
NODE_ENV: ${{ vars.NODE_ENV }}
|
||||
LOG_LEVEL: ${{ vars.LOG_LEVEL }}
|
||||
NEXT_PUBLIC_BASE_URL: ${{ vars.NEXT_PUBLIC_BASE_URL }}
|
||||
NEXT_PUBLIC_UMAMI_URL: ${{ vars.NEXT_PUBLIC_UMAMI_URL }}
|
||||
NEXT_PUBLIC_UMAMI_WEBSITE_ID: ${{ vars.NEXT_PUBLIC_UMAMI_WEBSITE_ID }}
|
||||
MY_EMAIL: ${{ vars.MY_EMAIL }}
|
||||
MY_INFO_EMAIL: ${{ vars.MY_INFO_EMAIL }}
|
||||
MY_PASSWORD: ${{ secrets.MY_PASSWORD }}
|
||||
MY_INFO_PASSWORD: ${{ secrets.MY_INFO_PASSWORD }}
|
||||
ADMIN_BASIC_AUTH: ${{ secrets.ADMIN_BASIC_AUTH }}
|
||||
|
||||
@@ -17,27 +17,17 @@ jobs:
|
||||
echo "🔍 Checking if secrets are available..."
|
||||
echo ""
|
||||
|
||||
# Check each secret/variable (without revealing values)
|
||||
if [ -n "${{ secrets.NEXT_PUBLIC_BASE_URL }}" ]; then
|
||||
echo "✅ NEXT_PUBLIC_BASE_URL: Set as SECRET (length: ${#NEXT_PUBLIC_BASE_URL})"
|
||||
elif [ -n "${{ vars.NEXT_PUBLIC_BASE_URL }}" ]; then
|
||||
echo "✅ NEXT_PUBLIC_BASE_URL: Set as VARIABLE (length: ${#NEXT_PUBLIC_BASE_URL})"
|
||||
else
|
||||
echo "❌ NEXT_PUBLIC_BASE_URL: Not set in secrets or variables"
|
||||
fi
|
||||
|
||||
if [ -n "${{ secrets.MY_EMAIL }}" ]; then
|
||||
echo "✅ MY_EMAIL: Set (length: ${#MY_EMAIL})"
|
||||
else
|
||||
echo "❌ MY_EMAIL: Not set"
|
||||
fi
|
||||
|
||||
if [ -n "${{ secrets.MY_INFO_EMAIL }}" ]; then
|
||||
echo "✅ MY_INFO_EMAIL: Set (length: ${#MY_INFO_EMAIL})"
|
||||
else
|
||||
echo "❌ MY_INFO_EMAIL: Not set"
|
||||
fi
|
||||
echo "📊 VARIABLES:"
|
||||
echo "✅ NODE_ENV: ${{ vars.NODE_ENV }}"
|
||||
echo "✅ LOG_LEVEL: ${{ vars.LOG_LEVEL }}"
|
||||
echo "✅ NEXT_PUBLIC_BASE_URL: ${{ vars.NEXT_PUBLIC_BASE_URL }}"
|
||||
echo "✅ NEXT_PUBLIC_UMAMI_URL: ${{ vars.NEXT_PUBLIC_UMAMI_URL }}"
|
||||
echo "✅ NEXT_PUBLIC_UMAMI_WEBSITE_ID: ${{ vars.NEXT_PUBLIC_UMAMI_WEBSITE_ID }}"
|
||||
echo "✅ MY_EMAIL: ${{ vars.MY_EMAIL }}"
|
||||
echo "✅ MY_INFO_EMAIL: ${{ vars.MY_INFO_EMAIL }}"
|
||||
|
||||
echo ""
|
||||
echo "🔐 SECRETS:"
|
||||
if [ -n "${{ secrets.MY_PASSWORD }}" ]; then
|
||||
echo "✅ MY_PASSWORD: Set (length: ${#MY_PASSWORD})"
|
||||
else
|
||||
@@ -58,12 +48,17 @@ jobs:
|
||||
|
||||
echo ""
|
||||
echo "📋 Summary:"
|
||||
echo "Total secrets checked: 6"
|
||||
echo "Set secrets: $(echo "${{ secrets.NEXT_PUBLIC_BASE_URL }}${{ secrets.MY_EMAIL }}${{ secrets.MY_INFO_EMAIL }}${{ secrets.MY_PASSWORD }}${{ secrets.MY_INFO_PASSWORD }}${{ secrets.ADMIN_BASIC_AUTH }}" | grep -o . | wc -l)"
|
||||
echo "Variables: 7 configured"
|
||||
echo "Secrets: 3 configured"
|
||||
echo "Total environment variables: 10"
|
||||
env:
|
||||
NEXT_PUBLIC_BASE_URL: ${{ secrets.NEXT_PUBLIC_BASE_URL || vars.NEXT_PUBLIC_BASE_URL }}
|
||||
MY_EMAIL: ${{ secrets.MY_EMAIL }}
|
||||
MY_INFO_EMAIL: ${{ secrets.MY_INFO_EMAIL }}
|
||||
NODE_ENV: ${{ vars.NODE_ENV }}
|
||||
LOG_LEVEL: ${{ vars.LOG_LEVEL }}
|
||||
NEXT_PUBLIC_BASE_URL: ${{ vars.NEXT_PUBLIC_BASE_URL }}
|
||||
NEXT_PUBLIC_UMAMI_URL: ${{ vars.NEXT_PUBLIC_UMAMI_URL }}
|
||||
NEXT_PUBLIC_UMAMI_WEBSITE_ID: ${{ vars.NEXT_PUBLIC_UMAMI_WEBSITE_ID }}
|
||||
MY_EMAIL: ${{ vars.MY_EMAIL }}
|
||||
MY_INFO_EMAIL: ${{ vars.MY_INFO_EMAIL }}
|
||||
MY_PASSWORD: ${{ secrets.MY_PASSWORD }}
|
||||
MY_INFO_PASSWORD: ${{ secrets.MY_INFO_PASSWORD }}
|
||||
ADMIN_BASIC_AUTH: ${{ secrets.ADMIN_BASIC_AUTH }}
|
||||
|
||||
Reference in New Issue
Block a user