Support both Variables and Secrets in workflows
- Allow NEXT_PUBLIC_BASE_URL to be set as either Variable or Secret - Update CI/CD workflow to check both secrets and variables - Update debug workflow to show whether values come from secrets or variables - Use fallback syntax: secrets.VAR || vars.VAR - Improve error messages to guide users to correct settings location
This commit is contained in:
@@ -83,11 +83,12 @@ jobs:
|
||||
run: |
|
||||
docker-compose down || true
|
||||
|
||||
- name: Verify secrets before deployment
|
||||
- name: Verify secrets and variables before deployment
|
||||
run: |
|
||||
echo "🔍 Verifying secrets..."
|
||||
if [ -z "${{ secrets.NEXT_PUBLIC_BASE_URL }}" ]; then
|
||||
echo "❌ NEXT_PUBLIC_BASE_URL secret is missing!"
|
||||
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"
|
||||
exit 1
|
||||
fi
|
||||
if [ -z "${{ secrets.MY_EMAIL }}" ]; then
|
||||
@@ -98,13 +99,13 @@ jobs:
|
||||
echo "❌ ADMIN_BASIC_AUTH secret is missing!"
|
||||
exit 1
|
||||
fi
|
||||
echo "✅ All required secrets are present"
|
||||
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 }}
|
||||
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 }}
|
||||
MY_PASSWORD: ${{ secrets.MY_PASSWORD }}
|
||||
|
||||
@@ -17,11 +17,13 @@ jobs:
|
||||
echo "🔍 Checking if secrets are available..."
|
||||
echo ""
|
||||
|
||||
# Check each secret (without revealing values)
|
||||
# Check each secret/variable (without revealing values)
|
||||
if [ -n "${{ secrets.NEXT_PUBLIC_BASE_URL }}" ]; then
|
||||
echo "✅ NEXT_PUBLIC_BASE_URL: Set (length: ${#NEXT_PUBLIC_BASE_URL})"
|
||||
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"
|
||||
echo "❌ NEXT_PUBLIC_BASE_URL: Not set in secrets or variables"
|
||||
fi
|
||||
|
||||
if [ -n "${{ secrets.MY_EMAIL }}" ]; then
|
||||
@@ -59,7 +61,7 @@ jobs:
|
||||
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)"
|
||||
env:
|
||||
NEXT_PUBLIC_BASE_URL: ${{ secrets.NEXT_PUBLIC_BASE_URL }}
|
||||
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 }}
|
||||
MY_PASSWORD: ${{ secrets.MY_PASSWORD }}
|
||||
|
||||
Reference in New Issue
Block a user